From 892cf5661f2f28efcaa3515d1c10b0aa2e6cc0fc Mon Sep 17 00:00:00 2001 From: Xuehan Xu Date: Fri, 27 Sep 2024 09:51:20 +0800 Subject: [PATCH] crimson/osd/backfill_state: drop Cancelled We'll implement the backfill cancellation as a simple pause of the backfill procedure, which means we don't have to add a new state Signed-off-by: Xuehan Xu --- src/crimson/osd/backfill_state.cc | 26 -------------------------- src/crimson/osd/backfill_state.h | 26 -------------------------- 2 files changed, 52 deletions(-) diff --git a/src/crimson/osd/backfill_state.cc b/src/crimson/osd/backfill_state.cc index 55ccb0ada13..62607c7fbeb 100644 --- a/src/crimson/osd/backfill_state.cc +++ b/src/crimson/osd/backfill_state.cc @@ -102,23 +102,6 @@ BackfillState::Initial::react(const BackfillState::Triggered& evt) } } -boost::statechart::result -BackfillState::Cancelled::react(const BackfillState::Triggered& evt) -{ - LOG_PREFIX(BackfillState::Cancelled::react::Triggered); - DEBUGDPP("backfill re-triggered", pg()); - ceph_assert(peering_state().is_backfilling()); - if (Enqueuing::all_enqueued(peering_state(), - backfill_state().backfill_info, - backfill_state().peer_backfill_info)) { - DEBUGDPP("{}: switching to Done state", pg()); - return transit(); - } else { - DEBUGDPP("{}: switching to Enqueuing state", pg()); - return transit(); - } -} - // -- Enqueuing void BackfillState::Enqueuing::maybe_update_range() { @@ -502,8 +485,6 @@ BackfillState::ReplicasScanning::react(CancelBackfill evt) { LOG_PREFIX(BackfillState::ReplicasScanning::react::CancelBackfill); DEBUGDPP("cancelled within ReplicasScanning", pg()); - waiting_on_backfill.clear(); - return transit(); } boost::statechart::result @@ -547,13 +528,6 @@ BackfillState::Crashed::Crashed() ceph_abort_msg("{}: this should not happen"); } -// -- Cancelled -BackfillState::Cancelled::Cancelled(my_context ctx) - : my_base(ctx) -{ - ceph_assert(peering_state().get_backfill_targets().size()); -} - // ProgressTracker is an intermediary between the BackfillListener and // BackfillMachine + its states. All requests to push or drop an object // are directed through it. The same happens with notifications about diff --git a/src/crimson/osd/backfill_state.h b/src/crimson/osd/backfill_state.h index da07a377b92..34400d930b2 100644 --- a/src/crimson/osd/backfill_state.h +++ b/src/crimson/osd/backfill_state.h @@ -136,34 +136,10 @@ public: explicit Crashed(); }; - struct Cancelled : sc::state, - StateHelper { - using reactions = boost::mpl::list< - sc::custom_reaction, - sc::custom_reaction, - sc::custom_reaction, - sc::custom_reaction, - sc::transition>; - explicit Cancelled(my_context); - // resume after triggering backfill by on_activate_complete(). - // transit to Enqueuing. - sc::result react(const Triggered&); - sc::result react(const PrimaryScanned&) { - return discard_event(); - } - sc::result react(const ReplicaScanned&) { - return discard_event(); - } - sc::result react(const ObjectPushed&) { - return discard_event(); - } - }; - struct Initial : sc::state, StateHelper { using reactions = boost::mpl::list< sc::custom_reaction, - sc::transition, sc::transition>; explicit Initial(my_context); // initialize after triggering backfill by on_activate_complete(). @@ -234,7 +210,6 @@ public: sc::custom_reaction, sc::custom_reaction, sc::transition, - sc::transition, sc::transition>; explicit PrimaryScanning(my_context); sc::result react(ObjectPushed); @@ -274,7 +249,6 @@ public: using reactions = boost::mpl::list< sc::custom_reaction, sc::transition, - sc::transition, sc::transition>; explicit Waiting(my_context); sc::result react(ObjectPushed); -- 2.39.5