summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMohammed Rafi KC <rkavunga@redhat.com>2015-04-27 17:18:36 +0530
committerVijay Bellur <vbellur@redhat.com>2015-05-09 10:25:15 -0700
commita591ba8ce34a8865abe4262dc61e3e53c609a645 (patch)
tree23d8a329a6ed187770eb36f6b2af8521e3ee2b30
parent14f93bce381f0ae077829efc9ccf0831110126b2 (diff)
downloadglusterfs-a591ba8ce34a8865abe4262dc61e3e53c609a645.tar.gz
glusterfs-a591ba8ce34a8865abe4262dc61e3e53c609a645.tar.xz
glusterfs-a591ba8ce34a8865abe4262dc61e3e53c609a645.zip
glusterd/tiering : cksum mismatch for tiered volume
Once we updated the volinfo from orginator node, the hot type was overwritten with volume type. Then the same dictionary was sent to peer node to perform the commit of attach-tier, that will cause hot type to replace with volume type, eventually end up in cksum mismatch Change-Id: I402dceb4d672d0b3a7b91a92f52c1057050dbedc BUG: 1215660 Signed-off-by: Mohammed Rafi KC <rkavunga@redhat.com> Conflicts: xlators/mgmt/glusterd/src/glusterd-brick-ops.c Reviewed-on: http://review.gluster.org/10406 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Vijay Bellur <vbellur@redhat.com>
-rw-r--r--cli/src/cli-cmd-volume.c2
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-brick-ops.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/cli/src/cli-cmd-volume.c b/cli/src/cli-cmd-volume.c
index a6df78ff18..4cb82a7071 100644
--- a/cli/src/cli-cmd-volume.c
+++ b/cli/src/cli-cmd-volume.c
@@ -939,7 +939,7 @@ cli_cmd_volume_attach_tier_cbk (struct cli_state *state,
if (ret)
goto out;
- ret = dict_set_int32 (options, "type", type);
+ ret = dict_set_int32 (options, "hot-type", type);
if (ret)
goto out;
diff --git a/xlators/mgmt/glusterd/src/glusterd-brick-ops.c b/xlators/mgmt/glusterd/src/glusterd-brick-ops.c
index 42927108f0..1ea520d286 100644
--- a/xlators/mgmt/glusterd/src/glusterd-brick-ops.c
+++ b/xlators/mgmt/glusterd/src/glusterd-brick-ops.c
@@ -501,7 +501,7 @@ __glusterd_handle_add_brick (rpcsvc_request_t *req)
goto out;
}
- ret = dict_get_int32 (dict, "type", &type);
+ ret = dict_get_int32 (dict, "hot-type", &type);
if (ret) {
gf_log (this->name, GF_LOG_ERROR,
"failed to get type from dictionary");
@@ -1914,7 +1914,7 @@ glusterd_op_perform_attach_tier (dict_t *dict,
else
volinfo->tier_info.hot_replica_count = 1;
volinfo->tier_info.hot_brick_count = count;
- ret = dict_get_int32 (dict, "type", &type);
+ ret = dict_get_int32 (dict, "hot-type", &type);
volinfo->tier_info.hot_type = type;
ret = dict_set_int32 (dict, "type", GF_CLUSTER_TYPE_TIER);