From cf2a4eb499d8e15fd745704295c317b2225203bc Mon Sep 17 00:00:00 2001
From: Kotresh HR <khiremat@redhat.com>
Date: Wed, 20 Apr 2016 23:49:39 +0530
Subject: [PATCH 111/139] glusterd/bitrot: Fix bit-rot scrub status
Few of the dictionary values were not allocated and
set. This patch allocates them and set.
Upstream master:
>Change-Id: Ic61c1209b238e45219793fd8bec92235adfbd013
>BUG: 1329211
>Reviewed-on: http://review.gluster.org/14120
Upstream release-3.7:
>Change-Id: Icf52a98a9699c6bd0b2dff159626f87030c76d72
>BUG: 1332072
>Reviewed-on: http://review.gluster.org/14141
Change-Id: Iea340634049fa48da6f498959133daa698a75c5c
BUG: 1299737
Signed-off-by: Kotresh HR <khiremat@redhat.com>
Reviewed-on: https://code.engineering.redhat.com/gerrit/73574
Reviewed-by: Venky Shankar <vshankar@redhat.com>
Tested-by: Venky Shankar <vshankar@redhat.com>
---
xlators/mgmt/glusterd/src/glusterd-utils.c | 18 +++++++++++-------
1 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c
index 1c6541c..8ed9ff1 100644
--- a/xlators/mgmt/glusterd/src/glusterd-utils.c
+++ b/xlators/mgmt/glusterd/src/glusterd-utils.c
@@ -8548,7 +8548,6 @@ glusterd_volume_bitrot_scrub_use_rsp_dict (dict_t *aggr, dict_t *rsp_dict)
ret = dict_get_str (rsp_dict, key, &node_uuid);
if (!ret) {
node_uuid_str = gf_strdup (node_uuid);
-
memset (key, 0, 256);
snprintf (key, 256, "node-uuid-%d", src_count+dst_count);
ret = dict_set_dynstr (aggr, key, node_uuid_str);
@@ -8643,7 +8642,8 @@ glusterd_volume_bitrot_scrub_use_rsp_dict (dict_t *aggr, dict_t *rsp_dict)
ret = dict_get_str (rsp_dict, "bitrot_log_file", &bitd_log);
if (!ret) {
- ret = dict_set_str (aggr, "bitrot_log_file", bitd_log);
+ ret = dict_set_dynstr_with_alloc (aggr, "bitrot_log_file",
+ bitd_log);
if (ret) {
gf_msg_debug (this->name, 0, "Failed to set "
"bitrot log file location");
@@ -8653,7 +8653,8 @@ glusterd_volume_bitrot_scrub_use_rsp_dict (dict_t *aggr, dict_t *rsp_dict)
ret = dict_get_str (rsp_dict, "scrub_log_file", &scrub_log);
if (!ret) {
- ret = dict_set_str (aggr, "scrub_log_file", scrub_log);
+ ret = dict_set_dynstr_with_alloc (aggr, "scrub_log_file",
+ scrub_log);
if (ret) {
gf_msg_debug (this->name, 0, "Failed to set "
"scrubber log file location");
@@ -8663,7 +8664,8 @@ glusterd_volume_bitrot_scrub_use_rsp_dict (dict_t *aggr, dict_t *rsp_dict)
ret = dict_get_str (rsp_dict, "features.scrub-freq", &scrub_freq);
if (!ret) {
- ret = dict_set_str (aggr, "features.scrub-freq", scrub_freq);
+ ret = dict_set_dynstr_with_alloc (aggr, "features.scrub-freq",
+ scrub_freq);
if (ret) {
gf_msg_debug (this->name, 0, "Failed to set "
"scrub-frequency value to dictionary");
@@ -8673,8 +8675,9 @@ glusterd_volume_bitrot_scrub_use_rsp_dict (dict_t *aggr, dict_t *rsp_dict)
ret = dict_get_str (rsp_dict, "features.scrub-throttle", &scrub_impact);
if (!ret) {
- ret = dict_set_str (aggr, "features.scrub-throttle",
- scrub_impact);
+ ret = dict_set_dynstr_with_alloc (aggr,
+ "features.scrub-throttle",
+ scrub_impact);
if (ret) {
gf_msg_debug (this->name, 0, "Failed to set "
"scrub-throttle value to dictionary");
@@ -8684,7 +8687,8 @@ glusterd_volume_bitrot_scrub_use_rsp_dict (dict_t *aggr, dict_t *rsp_dict)
ret = dict_get_str (rsp_dict, "features.scrub", &scrub_state);
if (!ret) {
- ret = dict_set_str (aggr, "features.scrub", scrub_state);
+ ret = dict_set_dynstr_with_alloc (aggr, "features.scrub",
+ scrub_state);
if (ret) {
gf_msg_debug (this->name, 0, "Failed to set "
"scrub state value to dictionary");
--
1.7.1