From: Samuel Just Date: Tue, 28 May 2024 20:47:52 +0000 (-0700) Subject: crimson/.../snaptrim_event: no need to recover missing, pg must be clean X-Git-Tag: v20.0.0~1716^2~4 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ed522acf95df1463cc87e8a9e8f34bcc61696eb5;p=ceph.git crimson/.../snaptrim_event: no need to recover missing, pg must be clean Signed-off-by: Samuel Just --- diff --git a/src/crimson/osd/osd_operations/snaptrim_event.cc b/src/crimson/osd/osd_operations/snaptrim_event.cc index 1f2841361051..fabf2b0eb7aa 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 9d7cde724ef7..759e000ff27e 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 d705a71bb785..6e80d464fc59 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(); }