From f0fb166078d59cab2a33583591b6448326247c40 Mon Sep 17 00:00:00 2001 From: Kotresh HR Date: Thu, 15 Jun 2017 08:31:06 -0400 Subject: feature/bitrot: Fix ondemand scrub The flag which keeps tracks of whether the scrub frequency is changed from previous value should not be considered for on-demand scrubbing. It should be considered only for 'scrub-frequency' where it should not be re-scheduled if it is set to same value again. But in case ondemand scrub, it should start the scrub immediately no matter what the scrub-frequency. Reproducer: 1. Enable bitrot 2. Set scrub-throttle 3. Set ondemand scrub Make sure glusterd is not restarted while doing below steps Change-Id: Ice5feaece7fff1579fb009d1a59d2b8292e23e0b BUG: 1461845 Signed-off-by: Kotresh HR Reviewed-on: https://review.gluster.org/17552 Smoke: Gluster Build System CentOS-regression: Gluster Build System Reviewed-by: Raghavendra Bhat NetBSD-regression: NetBSD Build System --- xlators/features/bit-rot/src/bitd/bit-rot-scrub.c | 5 ----- 1 file changed, 5 deletions(-) (limited to 'xlators/features/bit-rot/src/bitd/bit-rot-scrub.c') diff --git a/xlators/features/bit-rot/src/bitd/bit-rot-scrub.c b/xlators/features/bit-rot/src/bitd/bit-rot-scrub.c index 72bdb843488..e043ef84a52 100644 --- a/xlators/features/bit-rot/src/bitd/bit-rot-scrub.c +++ b/xlators/features/bit-rot/src/bitd/bit-rot-scrub.c @@ -1049,16 +1049,11 @@ br_fsscan_ondemand (xlator_t *this) char timestr[1024] = {0,}; struct timeval now = {0,}; br_private_t *priv = NULL; - struct br_scrubber *fsscrub = NULL; struct br_monitor *scrub_monitor = NULL; priv = this->private; - fsscrub = &priv->fsscrub; scrub_monitor = &priv->scrub_monitor; - if (!fsscrub->frequency_reconf) - return 0; - (void) gettimeofday (&now, NULL); timo = BR_SCRUB_ONDEMAND; -- cgit