From bb2fc0a23e46413a14baef1846a9873681d32fe2 Mon Sep 17 00:00:00 2001 From: Pranith Kumar K Date: Sun, 20 May 2012 21:02:55 +0530 Subject: cluster/afr: Unlock higher entry locks in rename entrylk failure. BUG: 823255 Change-Id: Ic6ad33518ea42c9518a21381518bd4f4afdd87cb Signed-off-by: Pranith Kumar K Reviewed-on: http://review.gluster.com/3382 Tested-by: Gluster Build System Reviewed-by: Anand Avati --- xlators/cluster/afr/src/afr-lk-common.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/xlators/cluster/afr/src/afr-lk-common.c b/xlators/cluster/afr/src/afr-lk-common.c index 7e897a16673..92356c82e4c 100644 --- a/xlators/cluster/afr/src/afr-lk-common.c +++ b/xlators/cluster/afr/src/afr-lk-common.c @@ -57,6 +57,9 @@ int afr_lock_blocking (call_frame_t *frame, xlator_t *this, int child_index); +static int +afr_copy_locked_nodes (call_frame_t *frame, xlator_t *this); + static uint64_t afr_lock_number = 1; static uint64_t @@ -860,6 +863,7 @@ afr_lock_lower_cbk (call_frame_t *frame, void *cookie, xlator_t *this, UNLOCK (&frame->lock); if (op_ret != 0) { + afr_copy_locked_nodes (frame, this); afr_unlock (frame, this); goto out; } else { -- cgit