]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
crimson/.../transaction_manager: convert get_pin to use get_cursor
authorSamuel Just <sjust@redhat.com>
Thu, 9 Oct 2025 01:32:03 +0000 (01:32 +0000)
committerSamuel Just <sjust@redhat.com>
Mon, 5 Jan 2026 21:14:58 +0000 (13:14 -0800)
Signed-off-by: Samuel Just <sjust@redhat.com>
src/crimson/os/seastore/transaction_manager.h

index 6b4de7e121b1d3d0f9e39ebbd4fab8addee127a7..8a9967735aef63720ebfcf790d3dccf9eedcea07 100644 (file)
@@ -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;
   }
 
   /**