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=2cdcaa3846e8a4176d82ba768cf8e28703c9e16a;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 44ffbe02d8e..c0d2e4d9ada 100644 --- a/src/crimson/os/seastore/transaction_manager.h +++ b/src/crimson/os/seastore/transaction_manager.h @@ -116,7 +116,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; } @@ -131,7 +132,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; } @@ -139,9 +141,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; } /**