From: kungf Date: Mon, 27 Nov 2017 10:35:45 +0000 (+0800) Subject: osd: change op delayed state to 'waiting for scrub' X-Git-Tag: wip-pdonnell-testing-20180317.202121~879^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=508ea640e3baaac414308244aa53388d6503e5bb;p=ceph-ci.git osd: change op delayed state to 'waiting for scrub' 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 --- diff --git a/src/osd/PrimaryLogPG.h b/src/osd/PrimaryLogPG.h index a7f228f7aac..47425d07e4f 100644 --- a/src/osd/PrimaryLogPG.h +++ b/src/osd/PrimaryLogPG.h @@ -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,