From: Samuel Just Date: Thu, 9 Oct 2025 01:32:03 +0000 (+0000) Subject: crimson/.../transaction_manager: convert get_pin to use get_cursor X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6fa6dd5c1db164501b572ed956d7022ce01fa67c;p=ceph-ci.git crimson/.../transaction_manager: convert get_pin to use get_cursor Signed-off-by: Samuel Just --- diff --git a/src/crimson/os/seastore/transaction_manager.h b/src/crimson/os/seastore/transaction_manager.h index 685bd5ab527..82a2c2b595e 100644 --- a/src/crimson/os/seastore/transaction_manager.h +++ b/src/crimson/os/seastore/transaction_manager.h @@ -114,7 +114,8 @@ public: laddr_t offset) { LOG_PREFIX(TransactionManager::get_pin); SUBDEBUGT(seastore_tm, "{} ...", t, offset); - auto pin = co_await lba_manager->get_mapping(t, offset, false); + auto cursor = co_await lba_manager->get_cursor(t, offset, false); + auto pin = co_await resolve_cursor_to_mapping(t, std::move(cursor)); SUBDEBUGT(seastore_tm, "got {}", t, pin); co_return pin; } @@ -129,7 +130,8 @@ public: laddr_t laddr) { LOG_PREFIX(TransactionManager::get_containing_pin); SUBDEBUGT(seastore_tm, "{} ...", t, laddr); - auto pin = co_await lba_manager->get_mapping(t, laddr, true); + auto cursor = co_await lba_manager->get_cursor(t, laddr, true); + auto pin = co_await resolve_cursor_to_mapping(t, std::move(cursor)); SUBDEBUGT(seastore_tm, "got {}", t, pin); co_return pin; } @@ -137,9 +139,11 @@ public: get_pin_ret get_pin(Transaction &t, LogicalChildNode &extent) { LOG_PREFIX(TransactionManager::get_pin); SUBDEBUGT(seastore_tm, "{} ...", t, extent); - auto pin = co_await lba_manager->get_mapping(t, extent); - SUBDEBUGT(seastore_tm, "got {}", t, pin); - co_return pin; + auto cursor = co_await lba_manager->get_cursor(t, extent); + ceph_assert(cursor->is_direct()); + auto ret = LBAMapping::create_direct(std::move(cursor)); + SUBDEBUGT(seastore_tm, "got {}", t, ret); + co_return ret; } /**