]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.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, 27 Jan 2026 19:42:59 +0000 (19:42 +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 48d12d6c92e824ed952999e15b3d9c038af70e56..625c6abf86d2a66edf3bd2f3811e243b47684415 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 b34131f9d07aeae50c7b282c39954e6b1ea09195..a8aafb85b8969c5971e204523098c3e6ae751cb0 100644 (file)
@@ -22,6 +22,8 @@
 namespace crimson::osd {
 class PG;
 
+class PGRecovery;
+
 class RecoveryBackend {
 public:
   class WaitForObjectRecovery;
@@ -264,6 +266,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;