[Bugs] [Bug 1189023] Directories not visible anymore after add-brick, new brick dirs not part of old bricks
bugzilla at redhat.com
bugzilla at redhat.com
Wed Mar 25 11:28:38 UTC 2015
https://bugzilla.redhat.com/show_bug.cgi?id=1189023
--- Comment #3 from Anand Avati <aavati at redhat.com> ---
COMMIT: http://review.gluster.org/9576 committed in release-3.6 by Raghavendra
Bhat (raghavendra at redhat.com)
------
commit 73835a06e87f685354816fb6c2ca4a9918f5e314
Author: Pranith Kumar K <pkarampu at redhat.com>
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 at redhat.com>
Reviewed-on: http://review.gluster.org/9576
Reviewed-by: Krutika Dhananjay <kdhananj at redhat.com>
Tested-by: Gluster Build System <jenkins at build.gluster.com>
Reviewed-by: Raghavendra Bhat <raghavendra at redhat.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=vvQlYJRpYp&a=cc_unsubscribe
More information about the Bugs
mailing list