]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
crimson/osd: introduce PGRecovery::start_backfill_recovery().
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Fri, 22 May 2020 22:14:14 +0000 (00:14 +0200)
committerRadoslaw Zarzynski <rzarzyns@redhat.com>
Mon, 13 Jul 2020 14:23:57 +0000 (16:23 +0200)
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
src/crimson/osd/pg_recovery.cc
src/crimson/osd/pg_recovery.h

index ec25b3fe70ff5e219f6b7936f0158c869b509a35..a585e466a30321b0269c11c647c3d518905d05cc 100644 (file)
@@ -401,6 +401,17 @@ void PGRecovery::_committed_pushed_object(epoch_t epoch,
   }
 }
 
+template <class EventT>
+void PGRecovery::start_backfill_recovery(const EventT& evt)
+{
+  using BackfillRecovery = crimson::osd::BackfillRecovery;
+  std::ignore = pg->get_shard_services().start_operation<BackfillRecovery>(
+    static_cast<crimson::osd::PG*>(pg),
+    pg->get_shard_services(),
+    pg->get_osdmap_epoch(),
+    evt);
+}
+
 void PGRecovery::request_replica_scan(
   const pg_shard_t& target,
   const hobject_t& begin,
@@ -465,10 +476,5 @@ void PGRecovery::on_backfill_reserved()
     std::make_unique<BackfillState::PeeringFacade>(pg->get_peering_state()),
     std::make_unique<BackfillState::PGFacade>(
       *static_cast<crimson::osd::PG*>(pg)));
-  using BackfillRecovery = crimson::osd::BackfillRecovery;
-  pg->get_shard_services().start_operation<BackfillRecovery>(
-    static_cast<crimson::osd::PG*>(pg),
-    pg->get_shard_services(),
-    pg->get_osdmap_epoch(),
-    BackfillState::Triggered{});
+  start_backfill_recovery(BackfillState::Triggered{});
 }
index 67a87f12b1ea92f23900e7ba967614d7d1b7a001..651becfed0f8976ea1c090588648aa6132123f41 100644 (file)
@@ -83,6 +83,9 @@ private:
   // backfill begin
   std::unique_ptr<crimson::osd::BackfillState> backfill_state;
 
+  template <class EventT>
+  void start_backfill_recovery(
+    const EventT& evt);
   void request_replica_scan(
     const pg_shard_t& target,
     const hobject_t& begin,