summaryrefslogtreecommitdiffstats
path: root/xlators/mgmt
diff options
context:
space:
mode:
authorGaurav Kumar Garg <ggarg@redhat.com>2015-04-08 00:27:54 +0530
committerVenky Shankar <vshankar@redhat.com>2015-04-13 08:46:56 +0000
commita2deb5ffb7aba02fe50ef38d9ead84debc3411cb (patch)
tree73b54f75cdebef5fb99b7a4b5fa4689ce178e422 /xlators/mgmt
parent1387bd92e8ada3a0e46d833997a14d35e810f0de (diff)
glusterd: Restarting glusterd should not reset bitrot tunable value to default
Previously when user restart glusterd then bitrot tunable value for option "scrub-throttle", "scrub-frequency", "scrub" cleared. glusterd was not storing these bitrot tunable value properly. With this fix it will store scrub-throttle, scrub-frequency, scrub, bitrot tunable value in /var/lib/glusterd/vols/<volname>/info file and it will resume these value when glusterd restart. Change-Id: I58e756e14fbb8513a6f878f808ea148e7aa33cb0 BUG: 1209751 Signed-off-by: Gaurav Kumar Garg <ggarg@redhat.com> Reviewed-on: http://review.gluster.org/10159 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Atin Mukherjee <amukherj@redhat.com> Reviewed-by: Venky Shankar <vshankar@redhat.com> Tested-by: Venky Shankar <vshankar@redhat.com>
Diffstat (limited to 'xlators/mgmt')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-bitrot.c12
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-volume-set.c17
2 files changed, 26 insertions, 3 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-bitrot.c b/xlators/mgmt/glusterd/src/glusterd-bitrot.c
index 083a714f596..13e08962c7a 100644
--- a/xlators/mgmt/glusterd/src/glusterd-bitrot.c
+++ b/xlators/mgmt/glusterd/src/glusterd-bitrot.c
@@ -396,18 +396,24 @@ glusterd_op_bitrot (dict_t *dict, char **op_errstr, dict_t *rsp_dict)
ret = glusterd_bitrot_scrub_throttle (volinfo, dict,
"features.scrub-throttle",
op_errstr);
- goto out;
+ if (ret)
+ goto out;
+ break;
case GF_BITROT_OPTION_TYPE_SCRUB_FREQ:
ret = glusterd_bitrot_scrub_freq (volinfo, dict,
"features.scrub-freq",
op_errstr);
- goto out;
+ if (ret)
+ goto out;
+ break;
case GF_BITROT_OPTION_TYPE_SCRUB:
ret = glusterd_bitrot_scrub (volinfo, dict, "features.scrub",
op_errstr);
- goto out;
+ if (ret)
+ goto out;
+ break;
default:
gf_asprintf (op_errstr, "Bitrot command failed. Invalid "
diff --git a/xlators/mgmt/glusterd/src/glusterd-volume-set.c b/xlators/mgmt/glusterd/src/glusterd-volume-set.c
index 22cac46e876..4c3d8518c6e 100644
--- a/xlators/mgmt/glusterd/src/glusterd-volume-set.c
+++ b/xlators/mgmt/glusterd/src/glusterd-volume-set.c
@@ -1782,6 +1782,23 @@ struct volopt_map_entry glusterd_volopt_map[] = {
.op_version = GD_OP_VERSION_3_7_0,
.type = NO_DOC,
},
+ { .key = "features.scrub-throttle",
+ .voltype = "features/bitrot",
+ .value = "normal",
+ .op_version = GD_OP_VERSION_3_7_0,
+ .type = NO_DOC,
+ },
+ { .key = "features.scrub-freq",
+ .voltype = "features/bitrot",
+ .value = "monthly",
+ .op_version = GD_OP_VERSION_3_7_0,
+ .type = NO_DOC,
+ },
+ { .key = "features.scrub",
+ .voltype = "features/bitrot",
+ .op_version = GD_OP_VERSION_3_7_0,
+ .type = NO_DOC,
+ },
/* Upcall translator options */
{ .key = "features.cache-invalidation",
.voltype = "features/upcall",