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-Tag: v21.0.0~99^2~7 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=01850b6b044dc2b85874db7e71e7eff8dd9d961c;p=ceph.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 90959ec2582..b87defb72ae 100644 --- a/src/crimson/os/seastore/lba/btree_lba_manager.cc +++ b/src/crimson/os/seastore/lba/btree_lba_manager.cc @@ -240,17 +240,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, diff --git a/src/crimson/os/seastore/lba/btree_lba_manager.h b/src/crimson/os/seastore/lba/btree_lba_manager.h index 24456128cd9..87c59c2a111 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 022aec14fbd..ba00f37a88c 100644 --- a/src/crimson/os/seastore/lba_manager.h +++ b/src/crimson/os/seastore/lba_manager.h @@ -125,7 +125,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 de368c9324e..c3a8bbdb6a6 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 );