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=f1e6d851888e7bddc47984e04727ef39d6e30fb1;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 cb9b8c20024..f82628be3f3 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 39c288e2f7c..0bcc3f59c8c 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 1de8a4a3598..8bded2f42cd 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 fdc5333ead4..ca73d94a008 100644 --- a/src/crimson/os/seastore/transaction_manager.h +++ b/src/crimson/os/seastore/transaction_manager.h @@ -538,7 +538,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 );