summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNithya Balachandran <nbalacha@redhat.com>2014-11-07 15:29:45 +0530
committerVijay Bellur <vbellur@redhat.com>2014-11-11 08:37:39 -0800
commita24a354737577d466ed1c29be1c4fa6bf1a31e11 (patch)
tree1aabcf2510e22ffd18ba4bff4b5fa5beea8dc3b9
parentffa4263c2f8fcb95ed5553a5a114bc26a920ad27 (diff)
Cluster/DHT : Rebalance skipped file count fix
The return value in dht_migrate_file is used to indicate the status of the file migration. This value was being masked by the lock operation causing the skipped and failure file counts to be incorrectly calculated. Change-Id: Ice3d2f5d57766e18aa52659f22a76867d188dc65 BUG: 1161518 Signed-off-by: Nithya Balachandran <nbalacha@redhat.com> Reviewed-on: http://review.gluster.org/9070 Reviewed-by: susant palai <spalai@redhat.com> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Shyamsundar Ranganathan <srangana@redhat.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
-rw-r--r--xlators/cluster/dht/src/dht-rebalance.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/xlators/cluster/dht/src/dht-rebalance.c b/xlators/cluster/dht/src/dht-rebalance.c
index 85499737e30..42c9cde491f 100644
--- a/xlators/cluster/dht/src/dht-rebalance.c
+++ b/xlators/cluster/dht/src/dht-rebalance.c
@@ -897,6 +897,7 @@ dht_migrate_file (xlator_t *this, loc_t *loc, xlator_t *from, xlator_t *to,
struct gf_flock flock = {0, };
loc_t tmp_loc = {0, };
gf_boolean_t locked = _gf_false;
+ int lk_ret = -1;
gf_log (this->name, GF_LOG_INFO, "%s: attempting to move from %s to %s",
loc->path, from->name, to->name);
@@ -1184,13 +1185,13 @@ out:
if (locked) {
flock.l_type = F_UNLCK;
- ret = syncop_inodelk (from, DHT_FILE_MIGRATE_DOMAIN, &tmp_loc,
- F_SETLK, &flock, NULL, NULL);
- if (ret < 0) {
+ lk_ret = syncop_inodelk (from, DHT_FILE_MIGRATE_DOMAIN,
+ &tmp_loc, F_SETLK, &flock, NULL, NULL);
+ if (lk_ret < 0) {
gf_msg (this->name, GF_LOG_WARNING, 0,
DHT_MSG_MIGRATE_FILE_FAILED,
"%s: failed to unlock file on %s (%s)",
- loc->path, from->name, strerror (-ret));
+ loc->path, from->name, strerror (-lk_ret));
}
}