Bug 842825 - gluster stripe+rep crashes on posix compliance test [NEEDINFO]
gluster stripe+rep crashes on posix compliance test
Status: CLOSED UPSTREAM
Product: Red Hat Gluster Storage
Classification: Red Hat
Component: glusterfs (Show other bugs)
2.0
Unspecified Unspecified
high Severity unspecified
: ---
: ---
Assigned To: Brian Foster
shylesh
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-07-24 12:37 EDT by Brian Foster
Modified: 2013-10-04 21:41 EDT (History)
6 users (show)

See Also:
Fixed In Version: glusterfs-3.4.0qa4-1.el6rhs
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-10-04 21:41:27 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
surs: needinfo? (shaines)


Attachments (Terms of Use)

  None (edit)
Description Brian Foster 2012-07-24 12:37:54 EDT
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 12:50:09 EDT
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 13:06:11 EDT
http://review.gluster.com/3721
Comment 4 Vijay Bellur 2012-07-25 18:04:06 EDT
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@redhat.com)

Note You need to log in before you can comment on or make changes to this bug.