From a5fe0f594d41e1a11661d9074bb19e9c2e2c4776 Mon Sep 17 00:00:00 2001 From: Joseph Fernandes Date: Sun, 3 May 2015 12:41:40 +0530 Subject: dht/tier/rebalancer: Fix reset of tiering client pid In the patch http://review.gluster.org/#/c/9657 the client pid set by tiering migration was getting over- written in dht_start_rebalance_task(). Just corrected it in dht_setxattr() before calling dht_start_rebalance_task() and removed it from dht_start_rebalance_task(). Change-Id: I37cfa111f83a4e5d498042575c93799f60b49870 BUG: 1217937 Signed-off-by: Joseph Fernandes Reviewed-on: http://review.gluster.org/10502 Tested-by: Gluster Build System Reviewed-by: Susant Palai Reviewed-by: Dan Lambright --- xlators/cluster/dht/src/dht-common.c | 4 +++- xlators/cluster/dht/src/dht-common.h | 1 + xlators/cluster/dht/src/dht-rebalance.c | 1 - xlators/cluster/dht/src/tier.c | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/xlators/cluster/dht/src/dht-common.c b/xlators/cluster/dht/src/dht-common.c index 6c0afdbec90..fbb4eaee4e5 100644 --- a/xlators/cluster/dht/src/dht-common.c +++ b/xlators/cluster/dht/src/dht-common.c @@ -3444,9 +3444,11 @@ dht_setxattr (call_frame_t *frame, xlator_t *this, * data migration and set the frame->root->pid to * GF_CLIENT_PID_TIER_DEFRAG in dht_setxattr() just before * calling dht_start_rebalance_task() */ - tmp = dict_get (xattr, "tiering.migration"); + tmp = dict_get (xattr, TIERING_MIGRATION_KEY); if (tmp) frame->root->pid = GF_CLIENT_PID_TIER_DEFRAG; + else + frame->root->pid = GF_CLIENT_PID_DEFRAG; ret = dht_start_rebalance_task (this, frame); if (!ret) diff --git a/xlators/cluster/dht/src/dht-common.h b/xlators/cluster/dht/src/dht-common.h index d5bb6fc61d4..baf244d0564 100644 --- a/xlators/cluster/dht/src/dht-common.h +++ b/xlators/cluster/dht/src/dht-common.h @@ -31,6 +31,7 @@ #define DHT_PATHINFO_HEADER "DISTRIBUTE:" #define DHT_FILE_MIGRATE_DOMAIN "dht.file.migrate" #define DHT_LAYOUT_HEAL_DOMAIN "dht.layout.heal" +#define TIERING_MIGRATION_KEY "tiering.migration" #include diff --git a/xlators/cluster/dht/src/dht-rebalance.c b/xlators/cluster/dht/src/dht-rebalance.c index ae5932f717f..09cfe515b49 100644 --- a/xlators/cluster/dht/src/dht-rebalance.c +++ b/xlators/cluster/dht/src/dht-rebalance.c @@ -1379,7 +1379,6 @@ dht_start_rebalance_task (xlator_t *this, call_frame_t *frame) { int ret = -1; - frame->root->pid = GF_CLIENT_PID_DEFRAG; ret = synctask_new (this->ctx->env, rebalance_task, rebalance_task_completion, frame, frame); diff --git a/xlators/cluster/dht/src/tier.c b/xlators/cluster/dht/src/tier.c index 866405105a8..72e8e47837e 100644 --- a/xlators/cluster/dht/src/tier.c +++ b/xlators/cluster/dht/src/tier.c @@ -232,7 +232,7 @@ tier_migrate_using_query_file (void *_args) * GF_CLIENT_PID_TIER_DEFRAG in dht_setxattr() just before * calling dht_start_rebalance_task() */ per_file_status = dict_set_str (migrate_data, - "tiering.migration", "yes"); + TIERING_MIGRATION_KEY, "yes"); if (per_file_status) { goto per_file_out; } -- cgit