Bug 842825

Summary: gluster stripe+rep crashes on posix compliance test
Product: [Red Hat Storage] Red Hat Gluster Storage Reporter: Brian Foster <bfoster>
Component: glusterfsAssignee: Brian Foster <bfoster>
Status: CLOSED UPSTREAM QA Contact: shylesh <shmohan>
Severity: unspecified Docs Contact:
Priority: high    
Version: 2.0CC: gluster-bugs, sdharane, shaines, surs, vagarwal, vbellur
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-3.4.0qa4-1.el6rhs Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-10-05 01:41:27 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Brian Foster 2012-07-24 16:37:54 UTC
Description of problem:

Running the posix compliance test suite against a stripex2 + repx2 volume causes a glusterfs crash.

Version-Release number of selected component (if applicable): 3.3.0


How reproducible: 100%


Steps to Reproduce:
1. Create stripe+rep volume.
2. Run pjd-fstest-20080816 tests.
  
Actual results: Segfault.


Expected results: All tests pass.


Additional info:

Comment 2 Brian Foster 2012-07-24 16:50:09 UTC
This occurs when the test attempts to link a named pipe. cluster/stripe locates named pipes on the first node of the stripe set, but other operations (lookup, link) are sent to the entire set. The link is sent down to the stripe nodes, each of which is a 2 node replica set. The replica set with the pipe succeeds and the replica without it returns a failure. The replica callback path ignores the inode pointer in the failure case, passing back NULL through the rest of the callback chain. This leads to a crash in stripe where it attempts to check the type of the inode to determine whether to handle stripe context information.

A small modification in afr to pass through the provided inode pointer regardless of return code allows this test (and all other tests) in the posix compliance test suite to pass against the stripe+replicate volume.

NOTE: The above tests are running against a build that includes the fix for bug 842652, which addresses a couple other issues in the posix test suite.

Comment 3 Brian Foster 2012-07-24 17:06:11 UTC
http://review.gluster.com/3721

Comment 4 Vijay Bellur 2012-07-25 22:04:06 UTC
CHANGE: http://review.gluster.com/3727 (cluster: fix crash on link of named pipe in stripe/replicate vol) merged in master by Anand Avati (avati)

Comment 6 Red Hat Bugzilla 2023-09-14 01:36:20 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 1000 days