Bug 1034398

Summary: qemu-kvm core dump when mirroring block using glusterfs:native backend
Product: [Community] GlusterFS Reporter: Anand Avati <aavati>
Component: read-aheadAssignee: Raghavendra G <rgowdapp>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: mainlineCC: aavati, acathrow, chrisw, gluster-bugs, hhuang, juzhang, mazhang, michen, pbonzini, qiguo, rwheeler, shu, surs, virt-maint, xfu, xuhan
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: glusterfs-3.5.0 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1032418 Environment:
Last Closed: 2014-04-17 11:51:10 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:
Bug Depends On: 1032418    
Bug Blocks:    

Comment 1 Anand Avati 2013-11-25 19:48:02 UTC
REVIEW: http://review.gluster.org/6348 (iobufs: make iobref container size dynamic) posted (#2) for review on master by Anand Avati (avati)

Comment 2 Anand Avati 2013-11-25 19:48:15 UTC
REVIEW: http://review.gluster.org/6349 (write-behind: handle iobref_merge() error gracefully) posted (#2) for review on master by Anand Avati (avati)

Comment 3 Anand Avati 2013-11-25 19:48:33 UTC
REVIEW: http://review.gluster.org/6350 (read-ahead: handle iobref_merge() error gracefully) posted (#2) for review on master by Anand Avati (avati)

Comment 4 Anand Avati 2013-11-25 19:48:46 UTC
REVIEW: http://review.gluster.org/6351 (io-cache: handle iobref_merge() error gracefully) posted (#2) for review on master by Anand Avati (avati)

Comment 5 Anand Avati 2013-11-26 07:52:06 UTC
REVIEW: http://review.gluster.org/6354 (socket: limit vector count to IOV_MAX) posted (#1) for review on master by Anand Avati (avati)

Comment 6 Anand Avati 2013-11-26 07:58:52 UTC
REVIEW: http://review.gluster.org/6354 (socket: limit vector count to IOV_MAX) posted (#2) for review on master by Anand Avati (avati)

Comment 7 Anand Avati 2013-11-26 18:31:14 UTC
COMMIT: http://review.gluster.org/6354 committed in master by Anand Avati (avati) 
------
commit 9da4958b7853f36a137c80493bec932b79d85e84
Author: Anand Avati <avati>
Date:   Mon Nov 25 10:28:56 2013 -0800

    socket: limit vector count to IOV_MAX
    
    IOV_MAX is the maximum supported vector count on a given platform.
    Limit the count to IOV_MAX if higher. As we are performing non-blocking
    IO getting a smaller return value is handled naturally.
    
    Change-Id: I94ef67a03ed0e10da67a776af2b55506bf721611
    BUG: 1034398
    Signed-off-by: Anand Avati <avati>
    Reviewed-on: http://review.gluster.org/6354
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Amar Tumballi <amarts>

Comment 8 Anand Avati 2013-11-26 18:31:29 UTC
COMMIT: http://review.gluster.org/6348 committed in master by Anand Avati (avati) 
------
commit c9579c4501a5d316f71fc44fd46a53060a4eed0c
Author: Anand Avati <avati>
Date:   Mon Nov 25 03:08:19 2013 -0800

    iobufs: make iobref container size dynamic
    
    With gfapi we can receive read/write size beyond the natural limits
    of FUSE and NFS server. iobref was hardcoded to hold iobuf refs up
    to 16 in count, which imposes a natural limit of 2MB with 128KB page
    sizes of read-ahead and io-cache. Fix this by making iobref's iobuf
    ref container size dynamic.
    
    Change-Id: I93d88104d6c5e7af96cc9f1bfcc870d80fa81dad
    BUG: 1034398
    Signed-off-by: Anand Avati <avati>
    Reviewed-on: http://review.gluster.org/6348
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Amar Tumballi <amarts>

Comment 9 Anand Avati 2013-11-26 18:31:47 UTC
COMMIT: http://review.gluster.org/6350 committed in master by Anand Avati (avati) 
------
commit 2a18e2426419cbab2f98368b3306fd37958394d2
Author: Anand Avati <avati>
Date:   Mon Nov 25 03:16:49 2013 -0800

    read-ahead: handle iobref_merge() error gracefully
    
    .. by UNWINDing ENOMEM rather than leaving pointers in vector which
    points to unref'ed (or even worse, re-used) iobufs.
    
    Change-Id: I849d8cbe5fc02ee992d4e28b7212c49aad4925c7
    BUG: 1034398
    Signed-off-by: Anand Avati <avati>
    Reviewed-on: http://review.gluster.org/6350
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Amar Tumballi <amarts>

Comment 10 Anand Avati 2013-11-26 18:32:03 UTC
COMMIT: http://review.gluster.org/6351 committed in master by Anand Avati (avati) 
------
commit e3f80f53b536eba17e35c184e9da3e4d59c30b58
Author: Anand Avati <avati>
Date:   Mon Nov 25 03:19:11 2013 -0800

    io-cache: handle iobref_merge() error gracefully
    
    .. by UNWINDing ENOMEM, rather than leaving pointer in vector pointing
    to stale memory.
    
    Change-Id: I7f3917ac056fae144f845c9d123233e91e278187
    BUG: 1034398
    Signed-off-by: Anand Avati <avati>
    Reviewed-on: http://review.gluster.org/6351
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Amar Tumballi <amarts>

Comment 11 Anand Avati 2013-11-26 18:32:19 UTC
COMMIT: http://review.gluster.org/6349 committed in master by Anand Avati (avati) 
------
commit d4c9d342f64636304720d0091a605c85ea9f0e4d
Author: Anand Avati <avati>
Date:   Mon Nov 25 03:13:17 2013 -0800

    write-behind: handle iobref_merge() error gracefully
    
    .. by UNWINDing ENOMEM error, rather than crashing.
    
    Change-Id: Ica2d6399eaf7e381e7ebc41155620559c139c4d3
    BUG: 1034398
    Signed-off-by: Anand Avati <avati>
    Reviewed-on: http://review.gluster.org/6349
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Amar Tumballi <amarts>

Comment 12 Niels de Vos 2014-04-17 11:51:10 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.5.0, please reopen this bug report.

glusterfs-3.5.0 has been announced on the Gluster Developers mailinglist [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://thread.gmane.org/gmane.comp.file-systems.gluster.devel/6137
[2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user