]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
OSD: always do a deep scrub when repairing
authorSamuel Just <sam.just@inktank.com>
Sat, 22 Dec 2012 01:21:59 +0000 (17:21 -0800)
committerSamuel Just <sam.just@inktank.com>
Sat, 22 Dec 2012 04:37:06 +0000 (20:37 -0800)
Otherwise, errors turned up in a deep-scrub will be
swept under the rug without being repaired.

Signed-off-by: Samuel Just <sam.just@inktank.com>
src/osd/OSD.cc

index ff9992a1c32a1114c5de7cb909d45cb782d4580c..5dd2f6391be3bc2e66a24e5b440501d303cecda0 100644 (file)
@@ -3514,7 +3514,7 @@ void OSD::handle_scrub(MOSDScrub *m)
        if (pg->is_primary()) {
          if (m->repair)
            pg->state_set(PG_STATE_REPAIR);
-         if (m->deep)
+         if (m->deep || m->repair)
            pg->state_set(PG_STATE_DEEP_SCRUB);
          if (pg->queue_scrub()) {
            dout(10) << "queueing " << *pg << " for scrub" << dendl;