From a2deb5ffb7aba02fe50ef38d9ead84debc3411cb Mon Sep 17 00:00:00 2001 From: Gaurav Kumar Garg Date: Wed, 8 Apr 2015 00:27:54 +0530 Subject: 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//info file and it will resume these value when glusterd restart. Change-Id: I58e756e14fbb8513a6f878f808ea148e7aa33cb0 BUG: 1209751 Signed-off-by: Gaurav Kumar Garg Reviewed-on: http://review.gluster.org/10159 Tested-by: Gluster Build System Reviewed-by: Atin Mukherjee Reviewed-by: Venky Shankar Tested-by: Venky Shankar --- xlators/mgmt/glusterd/src/glusterd-bitrot.c | 12 +++++++++--- xlators/mgmt/glusterd/src/glusterd-volume-set.c | 17 +++++++++++++++++ 2 files changed, 26 insertions(+), 3 deletions(-) (limited to 'xlators') 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", -- cgit