Bug 1297373

Summary: [write-behind] : Write/Append to a full volume causes fuse client to crash
Product: [Community] GlusterFS Reporter: Raghavendra G <rgowdapp>
Component: write-behindAssignee: bugs <bugs>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: urgent Docs Contact:
Priority: urgent    
Version: mainlineCC: bugs, josferna, nbalacha, nchilaka, rcyriac, smohan
Target Milestone: ---Keywords: ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-3.8rc2 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1297004 Environment:
Last Closed: 2016-06-16 13:54:13 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:
Bug Depends On: 1297004    
Bug Blocks:    

Comment 1 Vijay Bellur 2016-01-11 10:51:23 UTC
REVIEW: http://review.gluster.org/13213 (performance/write-behind: fix memory corruption) posted (#1) for review on master by Raghavendra G (rgowdapp)

Comment 2 Vijay Bellur 2016-01-12 06:15:45 UTC
REVIEW: http://review.gluster.org/13213 (performance/write-behind: fix memory corruption) posted (#2) for review on master by Raghavendra G (rgowdapp)

Comment 3 Vijay Bellur 2016-01-13 12:14:02 UTC
REVIEW: http://review.gluster.org/13213 (performance/write-behind: fix memory corruption) posted (#3) for review on master by Raghavendra G (rgowdapp)

Comment 4 Vijay Bellur 2016-01-13 13:44:49 UTC
REVIEW: http://review.gluster.org/13213 (performance/write-behind: fix memory corruption) posted (#4) for review on master by Raghavendra G (rgowdapp)

Comment 5 Vijay Bellur 2016-01-14 05:42:17 UTC
COMMIT: http://review.gluster.org/13213 committed in master by Raghavendra G (rgowdapp) 
------
commit 1b9174d35dc113f97fd5cec811633853cef269f3
Author: Raghavendra G <rgowdapp>
Date:   Mon Jan 11 16:17:29 2016 +0530

    performance/write-behind: fix memory corruption
    
    1. while handling short writes, __wb_fulfill_short_write would've freed
       current request before moving on to next in the list if request is not
       big enough to accomodate completed number of bytes. So, make sure to
       save next member before invoking __wb_fulfill_short_write on current
       request. Also handle the case where request is exactly the size of
       remaining completed number of bytes.
    
    2. When write request is unwound because there is a conflicting failed
       liability, make sure its deleted from tempted list. Otherwise there
       will be two unwinds (one as part handling a failed request in
       wb_do_winds and another in wb_do_unwinds).
    
    Change-Id: Id1b54430796b19b956d24b8d99ab0cdd5140e4f6
    BUG: 1297373
    Signed-off-by: Raghavendra G <rgowdapp>
    Reviewed-on: http://review.gluster.org/13213
    Tested-by: NetBSD Build System <jenkins.org>
    Reviewed-by: Raghavendra Talur <rtalur>

Comment 6 Niels de Vos 2016-06-16 13:54:13 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.8.0, please open a new bug report.

glusterfs-3.8.0 has been announced on the Gluster mailinglists [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://blog.gluster.org/2016/06/glusterfs-3-8-released/
[2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user