Bug 1189023 - Directories not visible anymore after add-brick, new brick dirs not part of old bricks
Summary: Directories not visible anymore after add-brick, new brick dirs not part of o...
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: GlusterFS
Classification: Community
Component: distribute
Version: 3.6.1
Hardware: x86_64
OS: Linux
urgent
urgent
Target Milestone: ---
Assignee: Raghavendra G
QA Contact:
URL:
Whiteboard:
Depends On: 1162306 1176008
Blocks: 1177928 glusterfs-3.6.3
TreeView+ depends on / blocked
 
Reported: 2015-02-04 09:19 UTC by Pranith Kumar K
Modified: 2019-02-15 14:03 UTC (History)
12 users (show)

Fixed In Version:
Clone Of: 1176008
Environment:
Last Closed: 2015-11-27 09:35:31 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Comment 1 Anand Avati 2015-02-04 09:24:20 UTC
REVIEW: http://review.gluster.org/9576 (cluster/afr: serialize inode locks) posted (#1) for review on release-3.6 by Pranith Kumar Karampuri (pkarampu)

Comment 2 Pranith Kumar K 2015-02-04 09:27:03 UTC
afr part of the fix is sent for review. Dht patch also needs to be sent out for the complete fix. Assigning to Raghavendra G for now.

Comment 3 Anand Avati 2015-03-25 11:28:38 UTC
COMMIT: http://review.gluster.org/9576 committed in release-3.6 by Raghavendra Bhat (raghavendra) 
------
commit 73835a06e87f685354816fb6c2ca4a9918f5e314
Author: Pranith Kumar K <pkarampu>
Date:   Wed Dec 31 15:15:53 2014 +0530

    cluster/afr: serialize inode locks
    
            Backport of http://review.gluster.org/9372
    
    Problem:
    Afr winds inodelk calls without any order, so blocking inodelks
    from two different mounts can lead to dead lock when mount1 gets
    the lock on brick-1 and blocked on brick-2 where as mount2 gets
    lock on brick-2 and blocked on brick-1
    
    Fix:
    Serialize the inodelks whether they are blocking inodelks or
    non-blocking inodelks.
    
            Non-blocking locks also need to be serialized.
    Otherwise there is a chance that both the mounts which issued same
    non-blocking inodelk may endup not acquiring the lock on any-brick.
    Ex:
    Mount1 and Mount2 request for full length lock on file f1.  Mount1 afr may
    acquire the partial lock on brick-1 and may not acquire the lock on brick-2
    because Mount2 already got the lock on brick-2, vice versa. Since both the
    mounts only got partial locks, afr treats them as failure in gaining the locks
    and unwinds with EAGAIN errno.
    
    BUG: 1189023
    Change-Id: If5dd502d9d25d12425749a8efcf08a1423b29255
    Signed-off-by: Pranith Kumar K <pkarampu>
    Reviewed-on: http://review.gluster.org/9576
    Reviewed-by: Krutika Dhananjay <kdhananj>
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Raghavendra Bhat <raghavendra>

Comment 4 Raghavendra G 2015-11-27 09:35:31 UTC
v3.6.7 has the fix


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