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 <dzafman@redhat.com>
(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
}
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);
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<NotBackfilling>();
}