]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/osd: bring get_temp_recovery_object() to PGRecovery for EC
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Thu, 9 May 2024 18:22:13 +0000 (18:22 +0000)
committerRadoslaw Zarzynski <rzarzyns@redhat.com>
Tue, 24 Mar 2026 16:06:24 +0000 (16:06 +0000)
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
src/crimson/osd/pg_recovery.cc
src/crimson/osd/pg_recovery.h
src/crimson/osd/recovery_backend.h

index 69456cd5fe2bbaab97debf81cff8d37702649525..51ee71788cc64ed551dafc56d79f514d2d4bb8b1 100644 (file)
@@ -713,4 +713,13 @@ void PGRecovery::on_backfill_reserved()
     BackfillState::Triggered{}.intrusive_from_this());
 }
 
+hobject_t PGRecovery::get_temp_recovery_object(
+    const hobject_t& target,
+    eversion_t version)
+{
+  return pg->get_recovery_backend()->get_temp_recovery_object(
+    target,
+    version);
 }
+
+} // namespace crimson::osd
index 47cf73a244f6428eab1c1b4efa863539bb578044..32976dfcea6d21c72ec385375ccf186bfc8f811a 100644 (file)
@@ -65,6 +65,9 @@ private:
   std::vector<pg_shard_t> get_replica_recovery_order() const {
     return pg->get_replica_recovery_order();
   }
+  hobject_t get_temp_recovery_object(
+    const hobject_t& target,
+    eversion_t version);
   RecoveryBackend::interruptible_future<> recover_missing(
     RecoveryBackend::RecoveryBlockingEvent::TriggerI&,
     const hobject_t &soid,
index 6adb83e11d1a9a1dcf5acf6d527af0b2dae68a92..e13e349e6c8d02f307eea33da15007c09e8d7320 100644 (file)
@@ -22,6 +22,8 @@
 namespace crimson::osd {
 class PG;
 
+class PGRecovery;
+
 class RecoveryBackend {
 public:
   class WaitForObjectRecovery;
@@ -265,6 +267,8 @@ public:
 protected:
   std::map<hobject_t, WaitForObjectRecoveryRef> recovering;
   std::map<hobject_t, seastar::shared_promise<>> unfound;
+
+  friend PGRecovery;
   hobject_t get_temp_recovery_object(
     const hobject_t& target,
     eversion_t version) const;