summaryrefslogtreecommitdiffstats
path: root/xlators/mgmt/glusterd/src/glusterd-utils.c
diff options
context:
space:
mode:
authorKotresh HR <khiremat@redhat.com>2016-07-04 17:25:57 +0530
committerJeff Darcy <jdarcy@redhat.com>2016-07-11 06:32:04 -0700
commitf4757d256e3e00132ef204c01ed61f78f705ad6b (patch)
treefe31efb87230af38229de9c6e58d10897bed4cde /xlators/mgmt/glusterd/src/glusterd-utils.c
parentb2c73cbf423de6201f956f522b7429615c88869d (diff)
feature/bitrot: Show whether scrub is in progress/idle
Bitrot scrub status shows whether the scrub is paused or active. It doesn't show whether the scrubber is actually scrubbing or waiting in the timer wheel for the next schedule. This patch shows this status with "In Progress" and "Idle" respectively. Change-Id: I995d8553d1ff166503ae1e7b46282fc3ba961f0b BUG: 1352871 Signed-off-by: Kotresh HR <khiremat@redhat.com> Reviewed-on: http://review.gluster.org/14864 Smoke: Gluster Build System <jenkins@build.gluster.org> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.org> Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-utils.c')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-utils.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c
index 627db08972d..24c50a971a9 100644
--- a/xlators/mgmt/glusterd/src/glusterd-utils.c
+++ b/xlators/mgmt/glusterd/src/glusterd-utils.c
@@ -8711,6 +8711,7 @@ glusterd_volume_bitrot_scrub_use_rsp_dict (dict_t *aggr, dict_t *rsp_dict)
glusterd_volinfo_t *volinfo = NULL;
int src_count = 0;
int dst_count = 0;
+ int8_t scrub_running = 0;
this = THIS;
GF_ASSERT (this);
@@ -8760,6 +8761,19 @@ glusterd_volume_bitrot_scrub_use_rsp_dict (dict_t *aggr, dict_t *rsp_dict)
}
memset (key, 0, 256);
+ snprintf (key, 256, "scrub-running-%d", src_count);
+ ret = dict_get_int8 (rsp_dict, key, &scrub_running);
+ if (!ret) {
+ memset (key, 0, 256);
+ snprintf (key, 256, "scrub-running-%d", src_count+dst_count);
+ ret = dict_set_int8 (aggr, key, scrub_running);
+ if (ret) {
+ gf_msg_debug (this->name, 0, "Failed to set "
+ "scrub-running value");
+ }
+ }
+
+ memset (key, 0, 256);
snprintf (key, 256, "scrubbed-files-%d", src_count);
ret = dict_get_uint64 (rsp_dict, key, &value);
if (!ret) {
@@ -8930,6 +8944,7 @@ glusterd_bitrot_volume_node_rsp (dict_t *aggr, dict_t *rsp_dict)
xlator_t *this = NULL;
glusterd_conf_t *priv = NULL;
glusterd_volinfo_t *volinfo = NULL;
+ int8_t scrub_running = 0;
this = THIS;
GF_ASSERT (this);
@@ -9039,6 +9054,17 @@ glusterd_bitrot_volume_node_rsp (dict_t *aggr, dict_t *rsp_dict)
}
}
+ ret = dict_get_int8 (rsp_dict, "scrub-running", &scrub_running);
+ if (!ret) {
+ memset (key, 0, 256);
+ snprintf (key, 256, "scrub-running-%d", i);
+ ret = dict_set_uint64 (aggr, key, scrub_running);
+ if (ret) {
+ gf_msg_debug (this->name, 0, "Failed to set "
+ "scrub-running value");
+ }
+ }
+
ret = dict_get_uint64 (rsp_dict, "scrubbed-files", &value);
if (!ret) {
memset (key, 0, 256);