]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: Only add random deep scrubs when NOT user initiated scrub 6673/head
authorDavid Zafman <dzafman@redhat.com>
Sun, 22 Nov 2015 18:14:12 +0000 (10:14 -0800)
committerDavid Zafman <dzafman@redhat.com>
Sun, 22 Nov 2015 18:15:09 +0000 (10:15 -0800)
Signed-off-by: David Zafman <dzafman@redhat.com>
src/osd/PG.cc

index 571c431739a46e6ced1f76e2d59d059eb8e59bff..a580c2dc6b27b9ee0fd9e74a997dd3f195278503 100644 (file)
@@ -3246,7 +3246,10 @@ bool PG::sched_scrub()
   bool time_for_deep = (ceph_clock_now(cct) >=
     info.history.last_deep_scrub_stamp + cct->_conf->osd_deep_scrub_interval);
 
-  bool deep_coin_flip = (rand() % 100) < cct->_conf->osd_deep_scrub_randomize_ratio * 100;
+  bool deep_coin_flip = false;
+  // Only add random deep scrubs when NOT user initiated scrub
+  if (!scrubber.must_scrub)
+      deep_coin_flip = (rand() % 100) < cct->_conf->osd_deep_scrub_randomize_ratio * 100;
   dout(20) << __func__ << ": time_for_deep=" << time_for_deep << " deep_coin_flip=" << deep_coin_flip << dendl;
 
   time_for_deep = (time_for_deep || deep_coin_flip);