diff options
Diffstat (limited to 'xlators/cluster/afr/src/afr-transaction.c')
-rw-r--r-- | xlators/cluster/afr/src/afr-transaction.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/xlators/cluster/afr/src/afr-transaction.c b/xlators/cluster/afr/src/afr-transaction.c index c0c409bbc96..ac329958d2a 100644 --- a/xlators/cluster/afr/src/afr-transaction.c +++ b/xlators/cluster/afr/src/afr-transaction.c @@ -377,6 +377,13 @@ afr_changelog_post_op_cbk (call_frame_t *frame, void *cookie, xlator_t *this, child_index = (long) cookie; + if (op_ret == 1) { + } + + if (op_ret == 0) { + __mark_pre_op_undone_on_fd (frame, this, child_index); + } + LOCK (&frame->lock); { call_count = --local->call_count; @@ -556,7 +563,6 @@ afr_changelog_post_op (call_frame_t *frame, xlator_t *this) afr_changelog_post_op_cbk (frame, (void *)(long)i, this, 1, 0, xattr[i]); } else { - __mark_pre_op_undone_on_fd (frame, this, i); STACK_WIND_COOKIE (frame, afr_changelog_post_op_cbk, (void *) (long) i, @@ -1128,6 +1134,8 @@ afr_lock (call_frame_t *frame, xlator_t *this) { afr_pid_save (frame); + frame->root->pid = (long) frame->root; + afr_set_lk_owner (frame, this); afr_set_lock_number (frame, this); |