[Bugs] [Bug 1327864] New: assert failure happens when parallel rm -rf is issued on nfs mounts

bugzilla at redhat.com bugzilla at redhat.com
Sun Apr 17 02:06:16 UTC 2016


https://bugzilla.redhat.com/show_bug.cgi?id=1327864

            Bug ID: 1327864
           Summary: assert failure happens when parallel rm -rf is issued
                    on nfs mounts
           Product: GlusterFS
           Version: 3.7.11
         Component: replicate
          Assignee: pkarampu at redhat.com
          Reporter: pkarampu at redhat.com
                CC: bugs at gluster.org
        Depends On: 1321554



+++ This bug was initially created as a clone of Bug #1321554 +++

Description of problem:
(gdb) bt
#0  0x00007f652b091a98 in __GI_raise (sig=sig at entry=6)
    at ../sysdeps/unix/sysv/linux/raise.c:55
#1  0x00007f652b09369a in __GI_abort () at abort.c:89
#2  0x00007f652b08a227 in __assert_fail_base (fmt=<optimized out>,
    assertion=assertion at entry=0x7f652c5a529c "inode->nlookup >=
nlookup", file=file at entry=0x7f652c5a512a "inode.c", line=line at entry=711,
    function=function at entry=0x7f652c5a5848 <__PRETTY_FUNCTION__.10534>
"__inode_forget") at assert.c:92
#3  0x00007f652b08a2d2 in __GI___assert_fail (
    assertion=0x7f652c5a529c "inode->nlookup >= nlookup",
    file=0x7f652c5a512a "inode.c", line=711,
    function=0x7f652c5a5848 <__PRETTY_FUNCTION__.10534>
"__inode_forget") at assert.c:101
#4  0x00007f652c5203e8 in __inode_forget (inode=0x7f6504038aec,
---Type <return> to continue, or q <return> to quit---
    nlookup=1) at inode.c:711
#5  0x00007f652c5210f8 in inode_forget (inode=0x7f6504038aec,
    nlookup=1) at inode.c:1123
#6  0x00007f651f75258c in afr_lookup_sh_metadata_wrap (
    opaque=0x7f65180a9b3c) at afr-common.c:1928
#7  0x00007f652c54d925 in synctask_wrap (old_task=0x7f65040467b0)
    at syncop.c:375
#8  0x00007f652b0a5f10 in ?? () from /lib64/libc.so.6
#9  0x0000000000000000 in ?? ()
(gdb) f 4
#4  0x00007f652c5203e8 in __inode_forget (inode=0x7f6504038aec,
nlookup=1) at inode.c:711
711            GF_ASSERT (inode->nlookup >= nlookup);
(gdb) p inode->nlookup
$1 = 0
(gdb) p nlookup
$2 = 1
(gdb) 

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


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

--- Additional comment from Vijay Bellur on 2016-03-28 08:01:00 EDT ---

REVIEW: http://review.gluster.org/13834 (cluster/afr: Don't lookup/forget
inodes) posted (#1) for review on master by Pranith Kumar Karampuri
(pkarampu at redhat.com)

--- Additional comment from Vijay Bellur on 2016-03-28 11:27:48 EDT ---

REVIEW: http://review.gluster.org/13834 (cluster/afr: Don't lookup/forget
inodes) posted (#2) for review on master by Pranith Kumar Karampuri
(pkarampu at redhat.com)

--- Additional comment from Vijay Bellur on 2016-03-31 08:46:37 EDT ---

COMMIT: http://review.gluster.org/13834 committed in master by Pranith Kumar
Karampuri (pkarampu at redhat.com) 
------
commit b2a5eed9b17a82ec4b6366b0107fe2271328c16a
Author: Pranith Kumar K <pkarampu at redhat.com>
Date:   Mon Mar 28 16:31:12 2016 +0530

    cluster/afr: Don't lookup/forget inodes

    Problem:
    All inodes that are looked-up are always forgotten without fail in
    afr removing the benefits of them being in lru. This same code can
    cause crashes if between inode_lookup, inode_forget in afr if the
    top xlator does inode_forget(0).

    Fix:
    Don't use lookup/forget in afr. No benefits are there at the moment
    for keeping this code. It is impossible to prevent top xlators to
    do inode_forget(0). Found similar instances in ec
    and removed them even though those code paths are not going to
    be executed in any place other than heal-daemon.

    BUG: 1321554
    Change-Id: Ia4cb236178f7f129cc898d53f0bbd26f494a2a8d
    Signed-off-by: Pranith Kumar K <pkarampu at redhat.com>
    Reviewed-on: http://review.gluster.org/13834
    Smoke: Gluster Build System <jenkins at build.gluster.com>
    NetBSD-regression: NetBSD Build System <jenkins at build.gluster.org>
    CentOS-regression: Gluster Build System <jenkins at build.gluster.com>
    Reviewed-by: Anuradha Talur <atalur at redhat.com>


Referenced Bugs:

https://bugzilla.redhat.com/show_bug.cgi?id=1321554
[Bug 1321554] assert failure happens when parallel rm -rf is issued on nfs
mounts
-- 
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=IreGUmefdv&a=cc_unsubscribe


More information about the Bugs mailing list