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();
return pg->wait_for_active_blocker.wait(std::move(trigger));
});
- co_await enter_stage<interruptor>(
- client_pp().recover_missing);
-
- // co_await do_recover_missing(pg, get_target_oid());
-
co_await enter_stage<interruptor>(
client_pp().get_obc);
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();
return pg->wait_for_active_blocker.wait(std::move(trigger));
});
- co_await enter_stage<interruptor>(
- client_pp().recover_missing);
-
- // co_await do_recover_missing(pg, get_target_oid());
-
co_await enter_stage<interruptor>(
client_pp().get_obc);
StartEvent,
CommonPGPipeline::WaitForActive::BlockingEvent,
PGActivationBlocker::BlockingEvent,
- CommonPGPipeline::RecoverMissing::BlockingEvent,
CommonPGPipeline::GetOBC::BlockingEvent,
CommonPGPipeline::Process::BlockingEvent,
WaitSubop::BlockingEvent,
StartEvent,
CommonPGPipeline::WaitForActive::BlockingEvent,
PGActivationBlocker::BlockingEvent,
- CommonPGPipeline::RecoverMissing::BlockingEvent,
CommonPGPipeline::GetOBC::BlockingEvent,
CommonPGPipeline::Process::BlockingEvent,
WaitRepop::BlockingEvent,
// 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();
}