]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
crimson/.../transaction_manager: convert get_pin to coroutine
authorSamuel Just <sjust@redhat.com>
Tue, 16 Sep 2025 16:48:34 +0000 (09:48 -0700)
committerSamuel Just <sjust@redhat.com>
Mon, 5 Jan 2026 20:44:34 +0000 (12:44 -0800)
Signed-off-by: Samuel Just <sjust@redhat.com>
src/crimson/os/seastore/transaction_manager.h

index 8e8086c85955a5254465a4d4fdfd14cb24260d35..73d4efd2a687995e53d4ea4fc59e78e5d433390f 100644 (file)
@@ -116,11 +116,9 @@ public:
     laddr_t offset) {
     LOG_PREFIX(TransactionManager::get_pin);
     SUBDEBUGT(seastore_tm, "{} ...", t, offset);
-    return lba_manager->get_mapping(t, offset, false
-    ).si_then([FNAME, &t](LBAMapping pin) {
-      SUBDEBUGT(seastore_tm, "got {}", t, pin);
-      return pin;
-    });
+    auto pin = co_await lba_manager->get_mapping(t, offset, false);
+    SUBDEBUGT(seastore_tm, "got {}", t, pin);
+    co_return pin;
   }
 
   /**
@@ -133,21 +131,17 @@ public:
     laddr_t laddr) {
     LOG_PREFIX(TransactionManager::get_containing_pin);
     SUBDEBUGT(seastore_tm, "{} ...", t, laddr);
-    return lba_manager->get_mapping(t, laddr, true
-    ).si_then([FNAME, &t](LBAMapping pin) {
-      SUBDEBUGT(seastore_tm, "got {}", t, pin);
-      return pin;
-    });
+    auto pin = co_await lba_manager->get_mapping(t, laddr, true);
+    SUBDEBUGT(seastore_tm, "got {}", t, pin);
+    co_return pin;
   }
 
   get_pin_ret get_pin(Transaction &t, LogicalChildNode &extent) {
     LOG_PREFIX(TransactionManager::get_pin);
     SUBDEBUGT(seastore_tm, "{} ...", t, extent);
-    return lba_manager->get_mapping(t, extent
-    ).si_then([FNAME, &t](LBAMapping pin) {
-      SUBDEBUGT(seastore_tm, "got {}", t, pin);
-      return pin;
-    });
+    auto pin = co_await lba_manager->get_mapping(t, extent);
+    SUBDEBUGT(seastore_tm, "got {}", t, pin);
+    co_return pin;
   }
 
   /**
@@ -163,12 +157,9 @@ public:
     extent_len_t length) {
     LOG_PREFIX(TransactionManager::get_pins);
     SUBDEBUGT(seastore_tm, "{}~0x{:x} ...", t, offset, length);
-    return lba_manager->get_mappings(
-      t, offset, length
-    ).si_then([FNAME, &t](lba_mapping_list_t pins) {
-      SUBDEBUGT(seastore_tm, "got {} pins", t, pins.size());
-      return pins;
-    });
+    auto pins = co_await lba_manager->get_mappings(t, offset, length);
+    SUBDEBUGT(seastore_tm, "got {} pins", t, pins.size());
+    co_return pins;
   }
 
   /**