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 --- .../bitrot/1209751-bitrot-scrub-tunable-reset.t | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 tests/bugs/bitrot/1209751-bitrot-scrub-tunable-reset.t (limited to 'tests/bugs/bitrot') diff --git a/tests/bugs/bitrot/1209751-bitrot-scrub-tunable-reset.t b/tests/bugs/bitrot/1209751-bitrot-scrub-tunable-reset.t new file mode 100644 index 00000000000..4f98174c16f --- /dev/null +++ b/tests/bugs/bitrot/1209751-bitrot-scrub-tunable-reset.t @@ -0,0 +1,46 @@ +#!/bin/bash + +## Test case for bitrot +## On restarting glusterd should not reset bitrot tunable value to default + + +. $(dirname $0)/../../include.rc +. $(dirname $0)/../../volume.rc +. $(dirname $0)/../../cluster.rc + +cleanup; + + +## Start glusterd +TEST glusterd; +TEST pidof glusterd; + +## Lets create and start the volume +TEST $CLI volume create $V0 $H0:$B0/${V0}0 $H0:$B0/${V0}1 +TEST $CLI volume start $V0 + +## Enable bitrot on volume $V0 +TEST $CLI volume bitrot $V0 enable + +## Set bitrot scrub-throttle value to lazy +TEST $CLI volume bitrot $V0 scrub-throttle lazy + +## Set bitrot scrub-frequency value to monthly +TEST $CLI volume bitrot $V0 scrub-frequency monthly + +## Set bitrot scrubber to pause state +TEST $CLI volume bitrot $V0 scrub pause + +## restart glusterd process +pkill glusterd; +TEST glusterd; +TEST pidof glusterd; + +## All the bitrot scrub tunable value should come back again. +EXPECT_WITHIN $PROCESS_UP_TIMEOUT 'Started' volinfo_field $V0 'Status'; +EXPECT 'lazy' volinfo_field $V0 'features.scrub-throttle'; +EXPECT 'monthly' volinfo_field $V0 'features.scrub-freq'; +EXPECT 'pause' volinfo_field $V0 'features.scrub'; +EXPECT 'on' volinfo_field $V0 'features.bitrot'; + +cleanup; -- cgit