[Bugs] [Bug 1338051] ENOTCONN error during parallel rmdir

bugzilla at redhat.com bugzilla at redhat.com
Tue May 24 11:20:01 UTC 2016


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



--- Comment #4 from Vijay Bellur <vbellur at redhat.com> ---
COMMIT: http://review.gluster.org/14461 committed in release-3.8 by Niels de
Vos (ndevos at redhat.com) 
------
commit 0c295ad2fddccea39d7fc5b402c2cd197f0825ca
Author: Ravishankar N <ravishankar at redhat.com>
Date:   Wed May 18 14:37:46 2016 +0530

    cluster/afr: Check for required number of entrylks

    Backport of http://review.gluster.org/#/c/14358/

    Problem:
    Parallel rmdir operations on the same directory results in ENOTCONN
    messages eventhough there was no network disconnect.

    In blocking entry lock during rmdir, AFR takes 2 set of locks on all its
    children-One (parentdir,name of dir to be deleted), the other (full lock
    on the dir being deleted). We proceed to pre-op stage even if only a
    single lock (but not all the needed locks) was obtained, only to fail it
with
    ENOTCONN because afr_locked_nodes_get() returns zero nodes  in
    afr_changelog_pre_op().

    Fix:
    After we get replies for all blocking lock requests, if we don't have
    the minimum number of locks to carry out the FOP, unlock and fail the
    FOP. The op_errno will be that of the last failed reply we got, i.e.
    whatever is set in afr_lock_cbk().

    Change-Id: Ibef25e65b468ebb5ea6ae1f5121a5f1201072293
    BUG: 1338051
    Signed-off-by: Ravishankar N <ravishankar at redhat.com>
    Reviewed-on: http://review.gluster.org/14461
    Smoke: Gluster Build System <jenkins at build.gluster.com>
    NetBSD-regression: NetBSD Build System <jenkins at build.gluster.org>
    Reviewed-by: Pranith Kumar Karampuri <pkarampu at redhat.com>
    CentOS-regression: Gluster Build System <jenkins at build.gluster.com>

-- 
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=RnmLjhDGhF&a=cc_unsubscribe


More information about the Bugs mailing list