62 lines
2.2 KiB
Diff
62 lines
2.2 KiB
Diff
From 302f3f87c9aa00c17ec3b49a81c8a4441d2bdf5f Mon Sep 17 00:00:00 2001
|
|
From: Hari Gowtham <hgowtham@redhat.com>
|
|
Date: Mon, 15 Apr 2019 10:01:40 +0530
|
|
Subject: [PATCH 097/124] glusterd/tier: while doing an attach tier, the self
|
|
heal daemon is not getting started
|
|
|
|
Problem: on a replicated volume, if attach tier is done,
|
|
The shd will be restarted. But here the restart fails because of the
|
|
graph not getting generated properly. The dict which is used for graph
|
|
creation doesn't get the values copied properly in prepare_shd_volume_options()
|
|
glusterd_prepare_shd_volume_options_for_tier() fails and skips the copy.
|
|
|
|
This patch reverts the changes back to the way it was in 3.4 and
|
|
help in fixing the issue. Using the old dict_set_str works.
|
|
|
|
label: DOWNSTREAM ONLY
|
|
|
|
Change-Id: I21534ca177511e018ba76886e899b3b1a4ac4716
|
|
Signed-off-by: Hari Gowtham <hgowtham@redhat.com>
|
|
Reviewed-on: https://code.engineering.redhat.com/gerrit/167825
|
|
Tested-by: RHGS Build Bot <nigelb@redhat.com>
|
|
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
|
|
---
|
|
xlators/mgmt/glusterd/src/glusterd-volgen.c | 19 +++++++++++++------
|
|
1 file changed, 13 insertions(+), 6 deletions(-)
|
|
|
|
diff --git a/xlators/mgmt/glusterd/src/glusterd-volgen.c b/xlators/mgmt/glusterd/src/glusterd-volgen.c
|
|
index 012f38e..1f53beb 100644
|
|
--- a/xlators/mgmt/glusterd/src/glusterd-volgen.c
|
|
+++ b/xlators/mgmt/glusterd/src/glusterd-volgen.c
|
|
@@ -4895,14 +4895,21 @@ glusterd_prepare_shd_volume_options_for_tier(glusterd_volinfo_t *volinfo,
|
|
dict_t *set_dict)
|
|
{
|
|
int ret = -1;
|
|
+ char *key = NULL;
|
|
|
|
- ret = volgen_set_shd_key_enable(set_dict, volinfo->tier_info.cold_type);
|
|
- if (ret)
|
|
- goto out;
|
|
+ key = volgen_get_shd_key (volinfo->tier_info.cold_type);
|
|
+ if (key) {
|
|
+ ret = dict_set_str (set_dict, key, "enable");
|
|
+ if (ret)
|
|
+ goto out;
|
|
+ }
|
|
|
|
- ret = volgen_set_shd_key_enable(set_dict, volinfo->tier_info.hot_type);
|
|
- if (ret)
|
|
- goto out;
|
|
+ key = volgen_get_shd_key (volinfo->tier_info.hot_type);
|
|
+ if (key) {
|
|
+ ret = dict_set_str (set_dict, key, "enable");
|
|
+ if (ret)
|
|
+ goto out;
|
|
+ }
|
|
out:
|
|
return ret;
|
|
}
|
|
--
|
|
1.8.3.1
|
|
|