From da2db75945bc4245eab711d55aa2ea6693d1b971 Mon Sep 17 00:00:00 2001 From: Xuehan Xu Date: Mon, 6 May 2024 16:43:32 +0800 Subject: [PATCH] crimson/osd/pg: trigger wait_for_active_blocker on replica osds when the activate event is committed This is used to unblock localized/balanced reads issued when the pg is not active yet. Fixes: https://tracker.ceph.com/issues/65806 Signed-off-by: Xuehan Xu (cherry picked from commit 2389c32d517e6c3b5e0d593e221af1602114a096) --- src/crimson/osd/pg.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/crimson/osd/pg.h b/src/crimson/osd/pg.h index d705a71bb785..0f02a0419e50 100644 --- a/src/crimson/osd/pg.h +++ b/src/crimson/osd/pg.h @@ -323,7 +323,9 @@ public: } Context *on_clean() final; void on_activate_committed() final { - // Not needed yet (will be needed for IO unblocking) + if (!is_primary()) { + wait_for_active_blocker.unblock(); + } } void on_active_exit() final { // Not needed yet -- 2.47.3