From 508ea640e3baaac414308244aa53388d6503e5bb Mon Sep 17 00:00:00 2001 From: kungf Date: Mon, 27 Nov 2017 18:35:45 +0800 Subject: [PATCH] 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 --- src/osd/PrimaryLogPG.h | 4 ++++ 1 file changed, 4 insertions(+) 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, -- 2.39.5