]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
PG: set scrubber.start = scrubber.end after scrub_compare_maps 3588/head
authorSamuel Just <sjust@redhat.com>
Thu, 29 Jan 2015 22:02:19 +0000 (14:02 -0800)
committerSamuel Just <sjust@redhat.com>
Thu, 29 Jan 2015 22:22:07 +0000 (14:22 -0800)
This is how the scrubber behaved prior to
218de829b1affa8ed413572736fcc3314f65730b

Fixes: 10693
Signed-off-by: Samuel Just <sjust@redhat.com>
src/osd/PG.cc

index 1a93c874fb3cc9b7fb8c2814730f3dc57864422f..790bdadff7279515e96c37ee9b52603936e44791 100644 (file)
@@ -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;