summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Just <sam.just@inktank.com>2013-04-19 10:52:30 -0700
committerSamuel Just <sam.just@inktank.com>2013-04-19 17:10:27 -0700
commit0e155550dd9881716698f4d3c7fa6f1f4486435e (patch)
treebba688897260c9f62d71fe64abb53adfac7d61fa
parent6ef0f162df82dfcdaf43fef8f997d695df47907b (diff)
downloadceph-0e155550dd9881716698f4d3c7fa6f1f4486435e.tar.gz
ReplicatedPG::_applied_recovered_object*: don't queue scrub if deleting
Signed-off-by: Samuel Just <sam.just@inktank.com>
-rw-r--r--src/osd/ReplicatedPG.cc5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc
index c5f50b9d235..6afc4998e6a 100644
--- a/src/osd/ReplicatedPG.cc
+++ b/src/osd/ReplicatedPG.cc
@@ -5841,7 +5841,8 @@ void ReplicatedPG::_applied_recovered_object(ObjectStore::Transaction *t, Object
--active_pushes;
// requeue an active chunky scrub waiting on recovery ops
- if (active_pushes == 0 && scrubber.is_chunky_scrub_active()) {
+ if (!deleting && active_pushes == 0
+ && scrubber.is_chunky_scrub_active()) {
osd->scrub_wq.queue(this);
}
@@ -5858,7 +5859,7 @@ void ReplicatedPG::_applied_recovered_object_replica(ObjectStore::Transaction *t
--active_pushes;
// requeue an active chunky scrub waiting on recovery ops
- if (active_pushes == 0 &&
+ if (!deleting && active_pushes == 0 &&
scrubber.active_rep_scrub && scrubber.active_rep_scrub->chunky) {
osd->rep_scrub_wq.queue(scrubber.active_rep_scrub);
scrubber.active_rep_scrub = 0;