From: Sage Weil Date: Sun, 29 Oct 2017 03:49:44 +0000 (-0500) Subject: osd/PG: handle spurious remote revoke or toofull X-Git-Tag: v13.0.1~375^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3d1b782cca788eda04655a3274765eed77774197;p=ceph.git 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 --- 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 {