diff options
author | Shehjar Tikoo <shehjart@gluster.com> | 2010-09-22 03:32:15 +0000 |
---|---|---|
committer | Vijay Bellur <vijay@dev.gluster.com> | 2010-09-22 04:14:19 -0700 |
commit | a4c948aca6058049523e31acf33ce5770f8693ad (patch) | |
tree | 104b328cce54710c9b6dd96da02042804ee61b41 /xlators/cluster/dht/src/dht-selfheal.c | |
parent | 151c120908fbd8e18072a6e64a641911c307a51c (diff) |
distribute: Return ESTALE when dir selfheal finds no fix
Signed-off-by: Shehjar Tikoo <shehjart@gluster.com>
Signed-off-by: Vijay Bellur <vijay@dev.gluster.com>
BUG: 1641 (Distribute must return error when dir selfheal has no fix)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1641
Diffstat (limited to 'xlators/cluster/dht/src/dht-selfheal.c')
-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; } |