From 3d1b782cca788eda04655a3274765eed77774197 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Sat, 28 Oct 2017 22:49:44 -0500 Subject: [PATCH] osd/PG: handle spurious remote revoke or toofull If we restart the recovery reservation process for some reason (e.g., local preemption), we may still get a racing REVOKE from the replicas in the previous round. Ignore. Signed-off-by: Sage Weil --- src/osd/PG.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/osd/PG.h b/src/osd/PG.h index 024c29abcf3..145d4db2982 100644 --- a/src/osd/PG.h +++ b/src/osd/PG.h @@ -2127,7 +2127,9 @@ protected: boost::statechart::custom_reaction< DeferRecovery >, boost::statechart::custom_reaction< DeferBackfill >, boost::statechart::custom_reaction< UnfoundRecovery >, - boost::statechart::custom_reaction< UnfoundBackfill > + boost::statechart::custom_reaction< UnfoundBackfill >, + boost::statechart::custom_reaction< RemoteReservationRevokedTooFull>, + boost::statechart::custom_reaction< RemoteReservationRevoked> > reactions; boost::statechart::result react(const QueryState& q); boost::statechart::result react(const ActMap&); @@ -2151,6 +2153,12 @@ protected: boost::statechart::result react(const UnfoundBackfill& evt) { return discard_event(); } + boost::statechart::result react(const RemoteReservationRevokedTooFull&) { + return discard_event(); + } + boost::statechart::result react(const RemoteReservationRevoked&) { + return discard_event(); + } }; struct Clean : boost::statechart::state< Clean, Active >, NamedState { -- 2.47.3