From: David Zafman Date: Tue, 12 Feb 2019 03:42:43 +0000 (-0800) Subject: Revert "osd: Handle getting RecoveryDone while in RepWaitBackfillReserved" X-Git-Tag: v14.1.0~104^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=d3a6ce692efaa78264df28122deb2b7476f15ede;p=ceph.git Revert "osd: Handle getting RecoveryDone while in RepWaitBackfillReserved" This reverts commit 83c2521a5316c922875746a40b95100b62865e67. This original fix handled the race by accepting the RecoveryDone while in RepWaitBackfillReserved by going to RepNotRecovering. Once we weren't crashing OSDs, none of the tests at the time detected that backfill was actually hung. Signed-off-by: David Zafman --- diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 0ea49cd8147..737142dd103 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -7838,15 +7838,6 @@ PG::RecoveryState::RepWaitBackfillReserved::react( return transit(); } -boost::statechart::result -PG::RecoveryState::RepWaitBackfillReserved::react(const RecoveryDone&) -{ - PG *pg = context< RecoveryMachine >().pg; - pg->clear_reserved_num_bytes(); - pg->osd->remote_reserver.cancel_reservation(pg->info.pgid); - return transit(); -} - /*---RepRecovering-------*/ PG::RecoveryState::RepRecovering::RepRecovering(my_context ctx) : my_base(ctx), diff --git a/src/osd/PG.h b/src/osd/PG.h index d5dcf43ef85..cc8db27f55f 100644 --- a/src/osd/PG.h +++ b/src/osd/PG.h @@ -2544,8 +2544,7 @@ protected: boost::statechart::custom_reaction< RemoteBackfillReserved >, boost::statechart::custom_reaction< RejectRemoteReservation >, boost::statechart::custom_reaction< RemoteReservationRejected >, - boost::statechart::custom_reaction< RemoteReservationCanceled >, - boost::statechart::custom_reaction< RecoveryDone > + boost::statechart::custom_reaction< RemoteReservationCanceled > > reactions; explicit RepWaitBackfillReserved(my_context ctx); void exit(); @@ -2553,7 +2552,6 @@ protected: boost::statechart::result react(const RejectRemoteReservation &evt); boost::statechart::result react(const RemoteReservationRejected &evt); boost::statechart::result react(const RemoteReservationCanceled &evt); - boost::statechart::result react(const RecoveryDone&); }; struct RepWaitRecoveryReserved : boost::statechart::state< RepWaitRecoveryReserved, ReplicaActive >, NamedState {