]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/PG: move local_reserver recovery cancel to Recovering state transition
authorSage Weil <sage@redhat.com>
Mon, 23 Oct 2017 03:43:18 +0000 (22:43 -0500)
committerSage Weil <sage@redhat.com>
Mon, 23 Oct 2017 03:43:18 +0000 (22:43 -0500)
This is easier to follow than canceling the reservation in the next state.

Signed-off-by: Sage Weil <sage@redhat.com>
src/osd/PG.cc

index 1c9eca70aba1ede146edf7b6d2d9e9e26cc4aaf9..838c5b34c3db495769272d1433326df3830ed488 100644 (file)
@@ -7004,6 +7004,7 @@ PG::RecoveryState::Recovering::react(const AllReplicasRecovered &evt)
   pg->state_clear(PG_STATE_RECOVERING);
   pg->state_clear(PG_STATE_FORCED_RECOVERY);
   release_reservations();
+  pg->osd->local_reserver.cancel_reservation(pg->info.pgid);
   return transit<Recovered>();
 }
 
@@ -7059,7 +7060,6 @@ PG::RecoveryState::Recovered::Recovered(my_context ctx)
   context< RecoveryMachine >().log_enter(state_name);
 
   PG *pg = context< RecoveryMachine >().pg;
-  pg->osd->local_reserver.cancel_reservation(pg->info.pgid);
 
   assert(!pg->needs_recovery());