From ed522acf95df1463cc87e8a9e8f34bcc61696eb5 Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Tue, 28 May 2024 13:47:52 -0700 Subject: [PATCH] crimson/.../snaptrim_event: no need to recover missing, pg must be clean Signed-off-by: Samuel Just --- src/crimson/osd/osd_operations/snaptrim_event.cc | 14 ++++---------- src/crimson/osd/osd_operations/snaptrim_event.h | 2 -- src/crimson/osd/pg.h | 3 +++ 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/src/crimson/osd/osd_operations/snaptrim_event.cc b/src/crimson/osd/osd_operations/snaptrim_event.cc index 1f284136105..fabf2b0eb7a 100644 --- a/src/crimson/osd/osd_operations/snaptrim_event.cc +++ b/src/crimson/osd/osd_operations/snaptrim_event.cc @@ -65,6 +65,8 @@ CommonPGPipeline& SnapTrimEvent::client_pp() SnapTrimEvent::snap_trim_event_ret_t SnapTrimEvent::start() { + ceph_assert(pg->is_active_clean()); + auto exit_handle = seastar::defer([this] { logger().debug("{}: exit", *this); handle.exit(); @@ -78,11 +80,6 @@ SnapTrimEvent::start() return pg->wait_for_active_blocker.wait(std::move(trigger)); }); - co_await enter_stage( - client_pp().recover_missing); - - // co_await do_recover_missing(pg, get_target_oid()); - co_await enter_stage( client_pp().get_obc); @@ -414,6 +411,8 @@ SnapTrimObjSubEvent::remove_or_update( SnapTrimObjSubEvent::snap_trim_obj_subevent_ret_t SnapTrimObjSubEvent::start() { + ceph_assert(pg->is_active_clean()); + auto exit_handle = seastar::defer([this] { logger().debug("{}: exit", *this); handle.exit(); @@ -428,11 +427,6 @@ SnapTrimObjSubEvent::start() return pg->wait_for_active_blocker.wait(std::move(trigger)); }); - co_await enter_stage( - client_pp().recover_missing); - - // co_await do_recover_missing(pg, get_target_oid()); - co_await enter_stage( client_pp().get_obc); diff --git a/src/crimson/osd/osd_operations/snaptrim_event.h b/src/crimson/osd/osd_operations/snaptrim_event.h index 9d7cde724ef..759e000ff27 100644 --- a/src/crimson/osd/osd_operations/snaptrim_event.h +++ b/src/crimson/osd/osd_operations/snaptrim_event.h @@ -87,7 +87,6 @@ public: StartEvent, CommonPGPipeline::WaitForActive::BlockingEvent, PGActivationBlocker::BlockingEvent, - CommonPGPipeline::RecoverMissing::BlockingEvent, CommonPGPipeline::GetOBC::BlockingEvent, CommonPGPipeline::Process::BlockingEvent, WaitSubop::BlockingEvent, @@ -194,7 +193,6 @@ public: StartEvent, CommonPGPipeline::WaitForActive::BlockingEvent, PGActivationBlocker::BlockingEvent, - CommonPGPipeline::RecoverMissing::BlockingEvent, CommonPGPipeline::GetOBC::BlockingEvent, CommonPGPipeline::Process::BlockingEvent, WaitRepop::BlockingEvent, diff --git a/src/crimson/osd/pg.h b/src/crimson/osd/pg.h index d705a71bb78..6e80d464fc5 100644 --- a/src/crimson/osd/pg.h +++ b/src/crimson/osd/pg.h @@ -437,6 +437,9 @@ public: // Utility + bool is_active_clean() const { + return peering_state.is_active() && peering_state.is_clean(); + } bool is_primary() const final { return peering_state.is_primary(); } -- 2.39.5