void PGRecovery::all_replicas_recovered()
{
LOG_PREFIX(PGRecovery::all_replicas_recovered);
- DEBUGDPP("", *pg->get_dpp());
+ DEBUGDPP("posting AllReplicasRecovered event", *pg->get_dpp());
start_peering_event_operation_listener(PeeringState::AllReplicasRecovered());
}
PeeringState::Recovering::react(const AllReplicasRecovered &evt)
{
DECLARE_LOCALS;
+ psdout(10) << "handling AllReplicasRecovered" << dendl;
ps->state_clear(PG_STATE_FORCED_RECOVERY);
release_reservations();
pl->cancel_local_background_io_reservation();
ps->get_osdmap_epoch(),
DoRecovery()),
evt.delay);
+ psdout(10) << "DeferRecovery: transitioning to NotRecovering, "
+ << "any pending AllReplicasRecovered will be lost" << dendl;
return transit<NotRecovering>();
}
DECLARE_LOCALS;
+ psdout(10) << "Recovered::Recovered: entering Recovered state" << dendl;
+
ceph_assert(!ps->needs_recovery());
// if we finished backfill, all acting are active; recheck if
if (context< Active >().all_replicas_activated &&
ps->async_recovery_targets.empty())
post_event(GoClean());
+
+ psdout(10) << "Recovered::Recovered: exiting Recovered constructor" << dendl;
}
void PeeringState::Recovered::exit()