summaryrefslogtreecommitdiffstats
path: root/xlators/mgmt/glusterd/src/glusterd-bitrot.c
diff options
context:
space:
mode:
authorGaurav Kumar Garg <ggarg@redhat.com>2015-04-11 17:05:45 +0530
committerKrishnan Parthasarathi <kparthas@redhat.com>2015-04-30 02:13:36 -0700
commit6faf89f4179c452be20f02966b9722641938599d (patch)
tree5fa2772fd1ca4a8ed007e1cf6b153d8bd36d33b2 /xlators/mgmt/glusterd/src/glusterd-bitrot.c
parent0be5e3d7c580f77f3db0d4282d2ac81071ccd3f5 (diff)
glusterd: volume info should not show "feature.scrub: resume" if scrub resumed
If bitrot is enable on the volume and if user paused the scrub process and then resume the scrub process then command #gluster volume info <VOLNAME> should show status of option features.scrub: Active. If bitrot is enable on the volume and user disable the bitrot on the volume then command #gluster volume info <VOLNAME> should show status of option features.scrub: Inactive. If bitrot is enable on the volume and user paused the scrub porcess then command gluster volume info <VOLNAME> should show the status of option features.scrub: pause. Change-Id: I55972eef3b8570b7cb05dc28700d4e28dc45a86a BUG: 1209818 Signed-off-by: Gaurav Kumar Garg <ggarg@redhat.com> Reviewed-on: http://review.gluster.org/10207 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Venky Shankar <vshankar@redhat.com> Reviewed-by: Krishnan Parthasarathi <kparthas@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-bitrot.c')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-bitrot.c25
1 files changed, 24 insertions, 1 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-bitrot.c b/xlators/mgmt/glusterd/src/glusterd-bitrot.c
index 13e0896..55a5e3a 100644
--- a/xlators/mgmt/glusterd/src/glusterd-bitrot.c
+++ b/xlators/mgmt/glusterd/src/glusterd-bitrot.c
@@ -208,7 +208,12 @@ glusterd_bitrot_scrub (glusterd_volinfo_t *volinfo, dict_t *dict,
goto out;
}
- option = gf_strdup (scrub_value);
+ if (!strcmp (scrub_value, "resume")) {
+ option = gf_strdup ("Active");
+ } else {
+ option = gf_strdup (scrub_value);
+ }
+
ret = dict_set_dynstr (volinfo->dict, key, option);
if (ret) {
gf_log (this->name, GF_LOG_ERROR, "Failed to set option %s",
@@ -253,6 +258,15 @@ glusterd_bitrot_enable (glusterd_volinfo_t *volinfo, char **op_errstr)
goto out;
}
+ /*Once bitrot is enable scrubber should be in Active state*/
+ ret = dict_set_dynstr_with_alloc (volinfo->dict, "features.scrub",
+ "Active");
+ if (ret) {
+ gf_log (this->name, GF_LOG_ERROR, "Failed to set option "
+ "features.scrub value");
+ goto out;
+ }
+
ret = 0;
out:
if (ret && op_errstr && !*op_errstr)
@@ -280,6 +294,15 @@ glusterd_bitrot_disable (glusterd_volinfo_t *volinfo, char **op_errstr)
goto out;
}
+ /*Once bitrot disabled scrubber should be Inactive state*/
+ ret = dict_set_dynstr_with_alloc (volinfo->dict, "features.scrub",
+ "Inactive");
+ if (ret) {
+ gf_log (this->name, GF_LOG_ERROR, "Failed to set "
+ "features.scrub value");
+ goto out;
+ }
+
ret = 0;
out:
if (ret && op_errstr && !*op_errstr)