Bug 1126734

Summary: Writing data to a dispersed volume mounted by NFS fails
Product: [Community] GlusterFS Reporter: Xavi Hernandez <jahernan>
Component: disperseAssignee: Xavi Hernandez <jahernan>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: unspecified    
Version: 3.6.0CC: bugs, gluster-bugs, lmohanty
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-3.6.0beta1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1122417 Environment:
Last Closed: 2014-11-11 08:37:15 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 Xavi Hernandez 2014-08-05 07:29:30 UTC
+++ This bug was initially created as a clone of Bug #1122417 +++

Description of problem:

When a dispersed volume is mounted by NFS, any write to it returns an error and nothing is written (file size is 0).

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


How reproducible:

Always

Steps to Reproduce:
1. gluster volume create d3_1 disperse node1:/bricks/d3_1 node2:/bricks/d3_1 node3:/bricks/d3_1
2. gluster volume start d3_1
3. mount node1:/d3_1 /gluster/d3_1
4. dd if=/dev/zero of=/gluster/d3_1/test bs=1024k count=1k

Actual results:

dd: error writing ‘/gluster/d3_1/test’: Unknown error 527
470+0 records in
469+0 records out
491782144 bytes (492 MB) copied, 3.41857 s, 144 MB/s

Expected results:

The file should be successfully written

Additional info:

The problem is caused because NFS uses anonymous fd, even for writes. Anonymous fs are not correctly handled by ec xlator.

--- Additional comment from Anand Avati on 2014-07-23 16:19:26 CEST ---

REVIEW: http://review.gluster.org/8367 (cluster/ec: Fix incorrect management of NFS requests) posted (#1) for review on master by Xavier Hernandez (xhernandez)

--- Additional comment from Anand Avati on 2014-08-02 09:23:31 CEST ---

COMMIT: http://review.gluster.org/8367 committed in master by Vijay Bellur (vbellur) 
------
commit f3204a06eb8156743110b1613b4b4b63b70572b6
Author: Xavier Hernandez <xhernandez>
Date:   Tue Jul 8 17:52:57 2014 +0200

    cluster/ec: Fix incorrect management of NFS requests
    
    Some operations, specially those comming from NFS, do not use a
    regular fd and use an anonymous fd (i.e. a previous open call has
    not been sent). Any context information created during open or
    create will not be present on these fd's, so we simply return NULL
    for contexts of those fd.
    
    Also it seems that NFS can send write requests with a very big
    buffer (higher that the default value of 128 KB). Some changes
    have been made to correctly handle these large buffers.
    
    Change-Id: I281476bd0d2cbaad231822248d6a616fcf5d4003
    BUG: 1122417
    Signed-off-by: Xavier Hernandez <xhernandez>
    Reviewed-on: http://review.gluster.org/8367
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 1 Anand Avati 2014-08-05 07:33:51 UTC
REVIEW: http://review.gluster.org/8416 (cluster/ec: Fix incorrect management of NFS requests) posted (#1) for review on release-3.6 by Xavier Hernandez (xhernandez)

Comment 2 Anand Avati 2014-08-05 10:45:52 UTC
REVIEW: http://review.gluster.org/8416 (cluster/ec: Fix incorrect management of NFS requests) posted (#2) for review on release-3.6 by Xavier Hernandez (xhernandez)

Comment 3 Anand Avati 2014-08-11 11:34:20 UTC
COMMIT: http://review.gluster.org/8416 committed in release-3.6 by Vijay Bellur (vbellur) 
------
commit 8935623e316b0e4448be4badd860b03a3763ea12
Author: Xavier Hernandez <xhernandez>
Date:   Tue Jul 8 17:52:57 2014 +0200

    cluster/ec: Fix incorrect management of NFS requests
    
    Some operations, specially those comming from NFS, do not use a
    regular fd and use an anonymous fd (i.e. a previous open call has
    not been sent). Any context information created during open or
    create will not be present on these fd's, so we simply return NULL
    for contexts of those fd.
    
    Also it seems that NFS can send write requests with a very big
    buffer (higher that the default value of 128 KB). Some changes
    have been made to correctly handle these large buffers.
    
    This is a backport of http://review.gluster.org/8367.
    
    Change-Id: I281476bd0d2cbaad231822248d6a616fcf5d4003
    BUG: 1126734
    Signed-off-by: Xavier Hernandez <xhernandez>
    Reviewed-on: http://review.gluster.org/8367
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>
    Reviewed-on: http://review.gluster.org/8416

Comment 4 Niels de Vos 2014-09-22 12:44:59 UTC
A beta release for GlusterFS 3.6.0 has been released. Please verify if the release solves this bug report for you. In case the glusterfs-3.6.0beta1 release does not have a resolution for this issue, leave a comment in this bug and move the status to ASSIGNED. If this release fixes the problem for you, leave a note and change the status to VERIFIED.

Packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update (possibly an "updates-testing" repository) infrastructure for your distribution.

[1] http://supercolony.gluster.org/pipermail/gluster-users/2014-September/018836.html
[2] http://supercolony.gluster.org/pipermail/gluster-users/

Comment 5 Niels de Vos 2014-11-11 08:37:15 UTC
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.6.1, please reopen this bug report.

glusterfs-3.6.1 has been announced [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution.

[1] http://supercolony.gluster.org/pipermail/gluster-users/2014-November/019410.html
[2] http://supercolony.gluster.org/mailman/listinfo/gluster-users