]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
PG: add helper for rejecting backfill reservation
authorSamuel Just <sam.just@inktank.com>
Thu, 21 Mar 2013 20:18:41 +0000 (13:18 -0700)
committerSamuel Just <sam.just@inktank.com>
Fri, 22 Mar 2013 01:51:39 +0000 (18:51 -0700)
Signed-off-by: Samuel Just <sam.just@inktank.com>
src/osd/PG.cc
src/osd/PG.h

index 1c6450eadaeb4d562917fbe5e199c1732d8c3d1b..ab5d3158e1f262efa457ae54d245d9776047ae94 100644 (file)
@@ -3294,6 +3294,17 @@ void PG::sub_op_scrub_stop(OpRequestRef op)
   osd->send_message_osd_cluster(reply, m->get_connection());
 }
 
+void PG::reject_reservation()
+{
+  osd->send_message_osd_cluster(
+    acting[0],
+    new MBackfillReserve(
+      MBackfillReserve::REJECT,
+      info.pgid,
+      get_osdmap()->get_epoch()),
+    get_osdmap()->get_epoch());
+}
+
 void PG::clear_scrub_reserved()
 {
   osd->scrub_wq.dequeue(this);
@@ -6102,13 +6113,7 @@ boost::statechart::result
 PG::RecoveryState::RepWaitBackfillReserved::react(const RemoteReservationRejected &evt)
 {
   PG *pg = context< RecoveryMachine >().pg;
-  pg->osd->send_message_osd_cluster(
-    pg->acting[0],
-    new MBackfillReserve(
-      MBackfillReserve::REJECT,
-      pg->info.pgid,
-      pg->get_osdmap()->get_epoch()),
-    pg->get_osdmap()->get_epoch());
+  pg->reject_reservation();
   return transit<RepNotRecovering>();
 }
 
index b24c74f8bf590cbf3c498c5105d2ae442437349d..60c13fc1407e5fe2515539689115f6121b37216d 100644 (file)
@@ -1050,6 +1050,7 @@ public:
   void sub_op_scrub_unreserve(OpRequestRef op);
   void sub_op_scrub_stop(OpRequestRef op);
 
+  void reject_reservation();
 
   // -- recovery state --