From 8b93144a83a194ab043b4b7139dafb009b1a0662 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Sun, 22 Oct 2017 22:49:19 -0500 Subject: [PATCH] osd/PG: simplify Recovering state change Signed-off-by: Sage Weil --- src/osd/PG.cc | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 3161209e48a98..58e07e39b9bd8 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -7001,7 +7001,6 @@ boost::statechart::result PG::RecoveryState::Recovering::react(const AllReplicasRecovered &evt) { PG *pg = context< RecoveryMachine >().pg; - pg->state_clear(PG_STATE_RECOVERING); pg->state_clear(PG_STATE_FORCED_RECOVERY); release_reservations(); pg->osd->local_reserver.cancel_reservation(pg->info.pgid); @@ -7012,7 +7011,6 @@ boost::statechart::result PG::RecoveryState::Recovering::react(const RequestBackfill &evt) { PG *pg = context< RecoveryMachine >().pg; - pg->state_clear(PG_STATE_RECOVERING); pg->state_clear(PG_STATE_FORCED_RECOVERY); release_reservations(); pg->osd->local_reserver.cancel_reservation(pg->info.pgid); @@ -7024,7 +7022,6 @@ PG::RecoveryState::Recovering::react(const DeferRecovery &evt) { PG *pg = context< RecoveryMachine >().pg; ldout(pg->cct, 10) << "defer recovery, retry delay " << evt.delay << dendl; - pg->state_clear(PG_STATE_RECOVERING); pg->state_set(PG_STATE_RECOVERY_WAIT); pg->osd->local_reserver.cancel_reservation(pg->info.pgid); release_reservations(true); @@ -7038,7 +7035,6 @@ PG::RecoveryState::Recovering::react(const UnfoundRecovery &evt) PG *pg = context< RecoveryMachine >().pg; ldout(pg->cct, 10) << "recovery has unfound, can't continue" << dendl; pg->state_set(PG_STATE_RECOVERY_UNFOUND); - pg->state_clear(PG_STATE_RECOVERING); pg->osd->local_reserver.cancel_reservation(pg->info.pgid); release_reservations(true); return transit(); @@ -7049,6 +7045,7 @@ void PG::RecoveryState::Recovering::exit() context< RecoveryMachine >().log_exit(state_name, enter_time); PG *pg = context< RecoveryMachine >().pg; utime_t dur = ceph_clock_now() - enter_time; + pg->state_clear(PG_STATE_RECOVERING); pg->osd->recoverystate_perf->tinc(rs_recovering_latency, dur); } -- 2.39.5