From: Samuel Just Date: Thu, 29 Jan 2015 22:02:19 +0000 (-0800) Subject: PG: set scrubber.start = scrubber.end after scrub_compare_maps X-Git-Tag: v0.92~1^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F3588%2Fhead;p=ceph.git PG: set scrubber.start = scrubber.end after scrub_compare_maps This is how the scrubber behaved prior to 218de829b1affa8ed413572736fcc3314f65730b Fixes: 10693 Signed-off-by: Samuel Just --- diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 1a93c874fb3c..790bdadff727 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -4014,6 +4014,7 @@ void PG::chunky_scrub(ThreadPool::TPHandle &handle) assert(scrubber.waiting_on == 0); scrub_compare_maps(); + scrubber.start = scrubber.end; scrubber.run_callbacks(); // requeue the writes from the chunk that just finished @@ -4033,9 +4034,6 @@ void PG::chunky_scrub(ThreadPool::TPHandle &handle) } if (scrubber.end < hobject_t::get_max()) { - // schedule another leg of the scrub - scrubber.start = scrubber.end; - scrubber.state = PG::Scrubber::NEW_CHUNK; osd->scrub_wq.queue(this); done = true;