]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
osd: change op delayed state to 'waiting for scrub'
authorkungf <yang.wang@easystack.cn>
Mon, 27 Nov 2017 10:35:45 +0000 (18:35 +0800)
committerkungf <yang.wang@easystack.cn>
Wed, 6 Dec 2017 09:03:30 +0000 (17:03 +0800)
when release rwlock, the ops waiting for rwlock are thansfered to
waiting_for_scrub if the object was blocked by scrub, the delayed
state should be changed at the same time.

Signed-off-by: kungf <yang.wang@easystack.cn>
src/osd/PrimaryLogPG.h

index a7f228f7aac435b8f98dca05191bff51b2643161..47425d07e4ffa5006efab3e5e8afcd6ed6cabfaf 100644 (file)
@@ -840,6 +840,10 @@ protected:
       // requeue at front of scrub blocking queue if we are blocked by scrub
       for (auto &&p: to_req) {
        if (scrubber.write_blocked_by_scrub(p.first.get_head())) {
+          for (auto& op : p.second) {
+            op->mark_delayed("waiting for scrub");
+          }
+
          waiting_for_scrub.splice(
            waiting_for_scrub.begin(),
            p.second,