From: Samuel Just Date: Mon, 20 Oct 2025 23:55:00 +0000 (+0000) Subject: crimson/.../lba_manager: convert reserve_region to use cursor X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=7b6ea2a4e9dc05cddd9f144dca144b65578a9fc3;p=ceph-ci.git crimson/.../lba_manager: convert reserve_region to use cursor Signed-off-by: Samuel Just --- diff --git a/src/crimson/os/seastore/lba/btree_lba_manager.cc b/src/crimson/os/seastore/lba/btree_lba_manager.cc index 60eafd4560f..8c7022b9c49 100644 --- a/src/crimson/os/seastore/lba/btree_lba_manager.cc +++ b/src/crimson/os/seastore/lba/btree_lba_manager.cc @@ -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(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); diff --git a/src/crimson/os/seastore/lba/btree_lba_manager.h b/src/crimson/os/seastore/lba/btree_lba_manager.h index b6d5419aa62..7f0598d1098 100644 --- a/src/crimson/os/seastore/lba/btree_lba_manager.h +++ b/src/crimson/os/seastore/lba/btree_lba_manager.h @@ -77,7 +77,7 @@ public: alloc_extent_ret reserve_region( Transaction &t, - LBAMapping pos, + LBACursorRef pos, laddr_t laddr, extent_len_t len) final; diff --git a/src/crimson/os/seastore/lba_manager.h b/src/crimson/os/seastore/lba_manager.h index e1191aa2a5e..845dfbf4509 100644 --- a/src/crimson/os/seastore/lba_manager.h +++ b/src/crimson/os/seastore/lba_manager.h @@ -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; diff --git a/src/crimson/os/seastore/transaction_manager.h b/src/crimson/os/seastore/transaction_manager.h index 77a6ba6625c..8b9eb9c90da 100644 --- a/src/crimson/os/seastore/transaction_manager.h +++ b/src/crimson/os/seastore/transaction_manager.h @@ -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 );