diff options
Diffstat (limited to 'xlators/cluster')
-rw-r--r-- | xlators/cluster/dht/src/dht-selfheal.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/xlators/cluster/dht/src/dht-selfheal.c b/xlators/cluster/dht/src/dht-selfheal.c index d5d9892b5..6b3e13b1a 100644 --- a/xlators/cluster/dht/src/dht-selfheal.c +++ b/xlators/cluster/dht/src/dht-selfheal.c @@ -481,14 +481,16 @@ dht_selfheal_directory (call_frame_t *frame, dht_selfheal_dir_cbk_t dir_cbk, if (down) { gf_log (this->name, GF_LOG_DEBUG, "%d subvolumes down -- not fixing", down); - ret = 0; + ret = -1; + local->op_errno = ESTALE; goto sorry_no_fix; } if (misc) { gf_log (this->name, GF_LOG_DEBUG, "%d subvolumes have unrecoverable errors", misc); - ret = 0; + ret = -1; + local->op_errno = ESTALE; goto sorry_no_fix; } @@ -498,6 +500,8 @@ dht_selfheal_directory (call_frame_t *frame, dht_selfheal_dir_cbk_t dir_cbk, if (ret == -1) { gf_log (this->name, GF_LOG_DEBUG, "not able to form layout for the directory"); + ret = -1; + local->op_errno = ESTALE; goto sorry_no_fix; } |