summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--xlators/cluster/afr/src/afr-lk-common.c4
1 files changed, 4 insertions, 0 deletions
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 {