summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/afr/src/afr-common.c
diff options
context:
space:
mode:
Diffstat (limited to 'xlators/cluster/afr/src/afr-common.c')
-rw-r--r--xlators/cluster/afr/src/afr-common.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/xlators/cluster/afr/src/afr-common.c b/xlators/cluster/afr/src/afr-common.c
index 691c1d4d7b3..840025e793c 100644
--- a/xlators/cluster/afr/src/afr-common.c
+++ b/xlators/cluster/afr/src/afr-common.c
@@ -2908,8 +2908,10 @@ afr_fallocate_wind_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
local->read_child_returned = _gf_true;
}
- if (afr_fop_failed (op_ret, op_errno))
+ if (afr_fop_failed (op_ret, op_errno)) {
afr_transaction_fop_failed (frame, this, child_index);
+ local->child_errno[child_index] = op_errno;
+ }
if (op_ret != -1) {
if (local->success_count == 0) {
@@ -3152,8 +3154,10 @@ afr_discard_wind_cbk(call_frame_t *frame, void *cookie, xlator_t *this,
local->read_child_returned = _gf_true;
}
- if (afr_fop_failed (op_ret, op_errno))
+ if (afr_fop_failed (op_ret, op_errno)) {
afr_transaction_fop_failed (frame, this, child_index);
+ local->child_errno[child_index] = op_errno;
+ }
if (op_ret != -1) {
if (local->success_count == 0) {