]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
crimson/.../lba_manager: convert reserve_region to use cursor
authorSamuel Just <sjust@redhat.com>
Mon, 20 Oct 2025 23:55:00 +0000 (23:55 +0000)
committerSamuel Just <sjust@redhat.com>
Tue, 2 Dec 2025 23:12:58 +0000 (15:12 -0800)
Signed-off-by: Samuel Just <sjust@redhat.com>
src/crimson/os/seastore/lba/btree_lba_manager.cc
src/crimson/os/seastore/lba/btree_lba_manager.h
src/crimson/os/seastore/lba_manager.h
src/crimson/os/seastore/transaction_manager.h

index 60eafd4560f9ec0be6ae725ef635eec949ddc1d3..8c7022b9c49b273b854cd20fc2e60dedfc6ec65f 100644 (file)
@@ -239,17 +239,16 @@ BtreeLBAManager::resolve_indirect_cursor(
 BtreeLBAManager::alloc_extent_ret
 BtreeLBAManager::reserve_region(
   Transaction &t,
-  LBAMapping pos,
+  LBACursorRef cursor,
   laddr_t addr,
   extent_len_t len)
 {
   LOG_PREFIX(BtreeLBAManager::reserve_region);
-  DEBUGT("{} {}~{}", t, pos, addr, len);
-  assert(pos.is_viewable());
+  DEBUGT("{} {}~{}", t, *cursor, addr, len);
+  assert(cursor->is_viewable());
   auto c = get_context(t);
   auto btree = co_await get_btree<LBABtree>(cache, c);
-  auto &cursor = pos.get_effective_cursor();
-  auto iter = btree.make_partial_iter(c, cursor);
+  auto iter = btree.make_partial_iter(c, *cursor);
   lba_map_val_t val{len, P_ADDR_ZERO, EXTENT_DEFAULT_REF_COUNT, 0};
   auto p = co_await btree.insert(c, iter, addr, val);
   ceph_assert(p.second);
index b6d5419aa628ccea9ca91fd965392dbc6ea1ffd1..7f0598d10988977900995da9a07e00c55b650229 100644 (file)
@@ -77,7 +77,7 @@ public:
 
   alloc_extent_ret reserve_region(
     Transaction &t,
-    LBAMapping pos,
+    LBACursorRef pos,
     laddr_t laddr,
     extent_len_t len) final;
 
index e1191aa2a5ecc459a21370f8449638a772375e68..845dfbf450941afc24a1d6e94f2102ac69d85ba9 100644 (file)
@@ -122,7 +122,7 @@ public:
    */
   virtual alloc_extent_ret reserve_region(
     Transaction &t,
-    LBAMapping pos,
+    LBACursorRef cursor,
     laddr_t hint,
     extent_len_t len) = 0;
 
index 77a6ba6625c1e24252cd4be1934a5bcc24f8d34e..8b9eb9c90da43a734b7adfeda2be1e7f72a07dc7 100644 (file)
@@ -536,7 +536,7 @@ public:
     pos = co_await pos.refresh();
     auto pin = co_await lba_manager->reserve_region(
       t,
-      std::move(pos),
+      pos.get_effective_cursor_ref(),
       hint,
       len
     );