From: David Zafman Date: Fri, 23 Aug 2019 15:52:39 +0000 (-0700) Subject: osd: Don't set backfill_toofull in RemoteReservationRevoked path X-Git-Tag: v13.2.9~111^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=c71bfebf37b61bde0ffa1c8b816a07a39ab5add8;p=ceph.git osd: Don't set backfill_toofull in RemoteReservationRevoked path We shouldn't set backfill_toofull when a revoke occurs in the non-toofull case. Fixes: https://tracker.ceph.com/issues/41255 Signed-off-by: David Zafman (cherry picked from commit fa569ecfecc43ce685b29e0456f62cb085788f25) Conflicts: src/osd/PeeringState.cc - file does not exist in nautilus due to refactoring: made the changes manually to src/osd/PG.cc - no "DECLARE_LOCALS" in nautilus --- diff --git a/src/osd/PG.cc b/src/osd/PG.cc index ebbf71ff19a..e98ff4a1416 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -7260,7 +7260,6 @@ void PG::RecoveryState::WaitRemoteBackfillReserved::retry() } pg->state_clear(PG_STATE_BACKFILL_WAIT); - pg->state_set(PG_STATE_BACKFILL_TOOFULL); pg->publish_stats_to_osd(); pg->schedule_backfill_retry(pg->cct->_conf->osd_backfill_retry_interval); @@ -7269,6 +7268,8 @@ void PG::RecoveryState::WaitRemoteBackfillReserved::retry() boost::statechart::result PG::RecoveryState::WaitRemoteBackfillReserved::react(const RemoteReservationRejected &evt) { + PG *pg = context< RecoveryMachine >().pg; + pg->state_set(PG_STATE_BACKFILL_TOOFULL); retry(); return transit(); }