diff options
author | Anand Avati <avati@redhat.com> | 2013-12-11 13:57:13 -0800 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2013-12-13 23:37:13 -0800 |
commit | b562ace8f7525f6d06555d4f02ac48fec82f23ad (patch) | |
tree | 9c9116b860f49b771e67df63480834440149b86e /xlators/cluster/dht/src/dht-inode-write.c | |
parent | bfb7f0806b0abd05e232f7c7e7260969ba330ec1 (diff) |
cluster/dht: Do migration inprog/complete check only if ENOENT
Additionally, update op_errno to the lasted failure. If failures
found in complete_check, error returned would be EUCLEAN instead
of the right failure (in this case ENOENT)
Change-Id: Ib813867f4b817af651627b9ea07b0b09fa2b26ce
BUG: 966852
Original-author: shishir gowda <sgowda@redhat.com>
Signed-off-by: Anand Avati <avati@redhat.com>
Reviewed-on: http://review.gluster.org/6495
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'xlators/cluster/dht/src/dht-inode-write.c')
-rw-r--r-- | xlators/cluster/dht/src/dht-inode-write.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/xlators/cluster/dht/src/dht-inode-write.c b/xlators/cluster/dht/src/dht-inode-write.c index a0271842841..ef7a114305a 100644 --- a/xlators/cluster/dht/src/dht-inode-write.c +++ b/xlators/cluster/dht/src/dht-inode-write.c @@ -50,6 +50,7 @@ dht_writev_cbk (call_frame_t *frame, void *cookie, xlator_t *this, local->rebalance.target_op_fn = dht_writev2; + local->op_errno = op_errno; /* Phase 2 of migration */ if (IS_DHT_MIGRATION_PHASE2 (postbuf)) { ret = dht_rebalance_complete_check (this, frame); @@ -198,6 +199,7 @@ dht_truncate_cbk (call_frame_t *frame, void *cookie, xlator_t *this, local->rebalance.target_op_fn = dht_truncate2; + local->op_errno = op_errno; /* Phase 2 of migration */ if ((op_ret == -1) || IS_DHT_MIGRATION_PHASE2 (postbuf)) { ret = dht_rebalance_complete_check (this, frame); |