]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/os/seastore/BackrefManager: adpat new BackrefMapping
authorZhang Song <zhangsong02@qianxin.com>
Thu, 24 Apr 2025 09:26:57 +0000 (17:26 +0800)
committerzs <zs@ijk.dev>
Tue, 20 May 2025 06:28:00 +0000 (14:28 +0800)
Signed-off-by: Zhang Song <zhangsong02@qianxin.com>
src/crimson/os/seastore/async_cleaner.h
src/crimson/os/seastore/backref/btree_backref_manager.cc
src/crimson/os/seastore/backref_manager.h

index 1cef771aeb8815f968cfe8bc866cec0680ff5aa2..b17a4bd5be53bacd807ca5b70f464810df11536b 100644 (file)
@@ -1487,7 +1487,7 @@ private:
   using do_reclaim_space_ret = do_reclaim_space_ertr::future<>;
   do_reclaim_space_ret do_reclaim_space(
     const std::vector<CachedExtentRef> &backref_extents,
-    const backref_pin_list_t &pin_list,
+    const backref_mapping_list_t &pin_list,
     std::size_t &reclaimed,
     std::size_t &runs);
 
index 92f9f30bb6350eaae524ea6c191f5eb00d65f9d4..bf70daa81f66dc5c8cdf9e7861b17cb4127acee0 100644 (file)
@@ -91,7 +91,7 @@ BtreeBackrefManager::get_mapping(
   LOG_PREFIX(BtreeBackrefManager::get_mapping);
   TRACET("{}", t, offset);
   auto c = get_context(t);
-  return with_btree_ret<BackrefBtree, BackrefMappingRef>(
+  return with_btree_ret<BackrefBtree, BackrefMapping>(
     cache,
     c,
     [c, offset](auto &btree) {
@@ -107,7 +107,7 @@ BtreeBackrefManager::get_mapping(
               c.trans, offset, iter.get_key(), iter.get_val());
        return get_mapping_ret(
          interruptible::ready_future_marker{},
-         iter.get_pin(c));
+         BackrefMapping::create(iter.get_cursor(c)));
       }
     });
   });
@@ -122,7 +122,7 @@ BtreeBackrefManager::get_mappings(
   LOG_PREFIX(BtreeBackrefManager::get_mappings);
   TRACET("{}~{}", t, offset, end);
   auto c = get_context(t);
-  return with_btree_state<BackrefBtree, backref_pin_list_t>(
+  return with_btree_state<BackrefBtree, backref_mapping_list_t>(
     cache,
     c,
     [c, offset, end](auto &btree, auto &ret) {
@@ -141,7 +141,7 @@ BtreeBackrefManager::get_mappings(
          TRACET("{}~{} got {}, {}, repeat ...",
                 c.trans, offset, end, pos.get_key(), pos.get_val());
          ceph_assert((pos.get_key().add_offset(pos.get_val().len)) > offset);
-         ret.emplace_back(pos.get_pin(c));
+         ret.emplace_back(BackrefMapping::create(pos.get_cursor(c)));
          return BackrefBtree::iterate_repeat_ret_inner(
            interruptible::ready_future_marker{},
            seastar::stop_iteration::no);
@@ -237,8 +237,8 @@ BtreeBackrefManager::new_mapping(
          });
        });
     }).si_then([c](auto &&state) {
-      return new_mapping_iertr::make_ready_future<BackrefMappingRef>(
-       state.ret->get_pin(c));
+      return new_mapping_iertr::make_ready_future<BackrefMapping>(
+       BackrefMapping::create(state.ret->get_cursor(c)));
     });
 }
 
index 8c746b571b2257c07922b371de26bc8a62af0025..7a263884f77a4b9a3b25bdfc7a8e751cf758482c 100644 (file)
@@ -30,7 +30,7 @@ public:
    * Future will not resolve until all pins have resolved
    */
   using get_mappings_iertr = base_iertr;
-  using get_mappings_ret = get_mappings_iertr::future<backref_pin_list_t>;
+  using get_mappings_ret = get_mappings_iertr::future<backref_mapping_list_t>;
   virtual get_mappings_ret get_mappings(
     Transaction &t,
     paddr_t offset,
@@ -43,7 +43,7 @@ public:
    */
   using get_mapping_iertr = base_iertr::extend<
     crimson::ct_error::enoent>;
-  using get_mapping_ret = get_mapping_iertr::future<BackrefMappingRef>;
+  using get_mapping_ret = get_mapping_iertr::future<BackrefMapping>;
   virtual get_mapping_ret  get_mapping(
     Transaction &t,
     paddr_t offset) = 0;
@@ -63,7 +63,7 @@ public:
    * Insert new paddr_t -> laddr_t mapping
    */
   using new_mapping_iertr = base_iertr;
-  using new_mapping_ret = new_mapping_iertr::future<BackrefMappingRef>;
+  using new_mapping_ret = new_mapping_iertr::future<BackrefMapping>;
   virtual new_mapping_ret new_mapping(
     Transaction &t,
     paddr_t key,