]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
crimson/.../transaction_manager: convert reserve_region to coroutine
authorSamuel Just <sjust@redhat.com>
Thu, 9 Oct 2025 23:08:59 +0000 (23:08 +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 8a9967735aef63720ebfcf790d3dccf9eedcea07..24f594e1604077864b9acb6ceb54d952ce9afc08 100644 (file)
@@ -525,14 +525,13 @@ public:
     extent_len_t len) {
     LOG_PREFIX(TransactionManager::reserve_region);
     SUBDEBUGT(seastore_tm, "hint {}~0x{:x} ...", t, hint, len);
-    return lba_manager->reserve_region(
+    auto pin = co_await lba_manager->reserve_region(
       t,
       hint,
       len
-    ).si_then([FNAME, &t](auto pin) {
-      SUBDEBUGT(seastore_tm, "reserved {}", t, pin);
-      return pin;
-    });
+    );
+    SUBDEBUGT(seastore_tm, "reserved {}", t, pin);
+    co_return pin;
   }
 
   reserve_extent_ret reserve_region(
@@ -542,18 +541,14 @@ public:
     extent_len_t len) {
     LOG_PREFIX(TransactionManager::reserve_region);
     SUBDEBUGT(seastore_tm, "hint {}~0x{:x} ...", t, hint, len);
-    return pos.refresh(
-    ).si_then([FNAME, this, &t, hint, len](auto pos) {
-      return lba_manager->reserve_region(
-       t,
-       std::move(pos),
-       hint,
-       len
-      ).si_then([FNAME, &t](auto pin) {
-       SUBDEBUGT(seastore_tm, "reserved {}", t, pin);
-       return pin;
-      });
-    });
+    pos = co_await pos.refresh();
+    auto pin = co_await lba_manager->reserve_region(
+      t,
+      std::move(pos),
+      hint,
+      len
+    );
+    co_return pin;
   }
 
   /*