Bug 965987 - rm is blocked on the fuse mount while trying to remove directories and files from the FUSE and NFS mount simultaneously
rm is blocked on the fuse mount while trying to remove directories and files ...
Status: CLOSED CURRENTRELEASE
Product: GlusterFS
Classification: Community
Component: replicate (Show other bugs)
mainline
x86_64 Unspecified
high Severity high
: ---
: ---
Assigned To: Pranith Kumar K
:
Depends On: 956034
Blocks:
  Show dependency treegraph
 
Reported: 2013-05-22 04:53 EDT by Pranith Kumar K
Modified: 2013-07-24 13:54 EDT (History)
5 users (show)

See Also:
Fixed In Version: glusterfs-3.4.0
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 956034
Environment:
Last Closed: 2013-07-24 13:54:13 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Comment 1 Anand Avati 2013-05-22 05:02:21 EDT
REVIEW: http://review.gluster.org/5062 (cluster/afr: Avoid order mismatch in blocking entrylks) posted (#1) for review on master by Pranith Kumar Karampuri (pkarampu@redhat.com)
Comment 2 Anand Avati 2013-05-22 05:11:37 EDT
REVIEW: http://review.gluster.org/5063 (cluster/afr: Avoid order mismatch in blocking entrylks) posted (#1) for review on release-3.4 by Pranith Kumar Karampuri (pkarampu@redhat.com)
Comment 3 Anand Avati 2013-06-05 08:23:27 EDT
COMMIT: http://review.gluster.org/5062 committed in master by Vijay Bellur (vbellur@redhat.com) 
------
commit 7413ed951f9b5615dc63f94a8e702cb8f6a8bd98
Author: Pranith Kumar K <pkarampu@redhat.com>
Date:   Wed May 22 11:59:27 2013 +0530

    cluster/afr: Avoid order mismatch in blocking entrylks
    
    Problem:
    When taking blocking entrylks, afr orders the entrylks based on
    uuid_compare of gfids of parent dirs, if they are equal then it orders
    them based on the basenames. While this approach works fine, the
    implementation assumes loc->gfids to be populated at the time of
    the comparison, but loc may have gfid in loc->inode->gfid instead
    of loc->gfid which was leading to order mismatches and dead-locks.
    
    Fix:
    Implemented loc_gfid which gives gfid by checking both loc->gfid,
    loc->inode->gfid. Used this for ordering the blocking entrylks.
    
    Change-Id: Ib0db36bbaf0df09fa87c3c3bb6a834db74fc2154
    BUG: 965987
    Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
    Reviewed-on: http://review.gluster.org/5062
    Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
    Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
    Tested-by: Gluster Build System <jenkins@build.gluster.com>
    Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Comment 4 Anand Avati 2013-06-06 14:54:12 EDT
COMMIT: http://review.gluster.org/5063 committed in release-3.4 by Vijay Bellur (vbellur@redhat.com) 
------
commit b7ac8e415961c9e203ed3f56b4115b7eb215ab94
Author: Pranith Kumar K <pkarampu@redhat.com>
Date:   Wed May 22 14:40:22 2013 +0530

    cluster/afr: Avoid order mismatch in blocking entrylks
    
    Problem:
    When taking blocking entrylks, afr orders the entrylks based on
    uuid_compare of gfids of parent dirs, if they are equal then it orders
    them based on the basenames. While this approach works fine, the
    implementation assumes loc->gfids to be populated at the time of
    the comparison, but loc may have gfid in loc->inode->gfid instead
    of loc->gfid which was leading to order mismatches and dead-locks.
    
    Fix:
    Implemented loc_gfid which gives gfid by checking both loc->gfid,
    loc->inode->gfid. Used this for ordering the blocking entrylks.
    
    Change-Id: I2743fcaff3d670fbeb6b8e0a496f106a3585dde1
    BUG: 965987
    Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
    Reviewed-on: http://review.gluster.org/5063
    Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
    Tested-by: Gluster Build System <jenkins@build.gluster.com>
    Reviewed-by: Vijay Bellur <vbellur@redhat.com>

Note You need to log in before you can comment on or make changes to this bug.