]> 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 22:23:57 +0000 (17:23 -0500)
This is easier to follow than canceling the reservation in the next state.

Signed-off-by: Sage Weil <sage@redhat.com>
(cherry picked from commit dde007749bb960122f399b4cb8608a8c1ea4eb9c)

src/osd/PG.cc

index 2ee82d7be40b44fc3cf5da8ecb8b583d292e4f57..af86a5a7d8152db0e33a3460072ffc0c5ca4abf7 100644 (file)
@@ -6974,6 +6974,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>();
 }
 
@@ -7017,7 +7018,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());