Bug 764298 (GLUSTER-2566)

Summary: NFS read hangs when arequal-checksum script is run
Product: [Community] GlusterFS Reporter: shishir gowda <sgowda>
Component: nfsAssignee: Shehjar Tikoo <shehjart>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: mainlineCC: anush, gluster-bugs, nsathyan
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Solaris   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: RTP Mount Type: nfs
Documentation: DNR CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description shishir gowda 2011-03-21 03:19:29 EDT
When NFS open call fails (seen here due to a bug in quick-read open), the FH gets queued.

Subsequent FH open calls get queued and hence the read call is blocked.
Comment 1 Shehjar Tikoo 2011-03-22 01:43:53 EDT
arequal script hangs because the read replies are not being sent by the NFS server running on Solaris.

NFS, on seeing the first read call, opens the file and then handles the read request in a second step. If the open call fails, the error is supposed to be returned to the NFS client as part of the READ reply. This is not happening and is a bug. A patch has been sent.

The second part of the problem is in quick-read where the use of O_DIRECTORY in open is not a portable piece of code. Solaris does not have O_DIRECTORY and is defined to 0 by our build scripts. The zero value results in the failure of the open fop in quick-read. This prevents the open fop from even reaching the brick. This is the second bug and is pending a fix.
Comment 2 Anush Shetty 2011-03-22 02:42:21 EDT
*** Bug 2545 has been marked as a duplicate of this bug. ***
Comment 3 Vijay Bellur 2011-03-22 06:04:33 EDT
PATCH: http://patches.gluster.com/patch/6556 in release-3.1 (Solaris: redefine O_DIRECTORY flag to the correct value)
Comment 4 Vijay Bellur 2011-03-22 06:04:42 EDT
PATCH: http://patches.gluster.com/patch/6531 in release-3.1 (nfs3: Flush file I/O call states on open failure)
Comment 5 Vijay Bellur 2011-03-25 04:11:43 EDT
PATCH: http://patches.gluster.com/patch/6532 in master (nfs3: Flush file I/O call states on open failure)