]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/os/seastore/epm: open_for_write() into coroutines
authorMatan Breizman <mbreizma@redhat.com>
Sun, 21 Sep 2025 16:11:19 +0000 (16:11 +0000)
committerMatan Breizman <mbreizma@redhat.com>
Mon, 29 Sep 2025 11:05:38 +0000 (11:05 +0000)
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
src/crimson/os/seastore/extent_placement_manager.cc

index 48562728b2b7c6cace15463bf96b2b50999d6c76..110ecae411b56f74d437b735413a3a6353c43613 100644 (file)
@@ -448,21 +448,20 @@ ExtentPlacementManager::open_ertr::future<>
 ExtentPlacementManager::open_for_write()
 {
   LOG_PREFIX(ExtentPlacementManager::open_for_write);
-  INFO("started with {} devices", num_devices);
+  DEBUG("started with {} devices", num_devices);
   ceph_assert(primary_device != nullptr);
-  return crimson::do_for_each(data_writers_by_gen, [](auto &writer) {
+  DEBUG("opening DATA writers", num_devices);
+  for (auto& writer : data_writers_by_gen) {
     if (writer) {
-      return writer->open();
+      co_await writer->open();
     }
-    return open_ertr::now();
-  }).safe_then([this] {
-    return crimson::do_for_each(md_writers_by_gen, [](auto &writer) {
-      if (writer) {
-       return writer->open();
-      }
-      return open_ertr::now();
-    });
-  });
+  }
+  DEBUG("opening METADATA writers", num_devices);
+  for (auto& writer : md_writers_by_gen) {
+    if (writer) {
+      co_await writer->open();
+    }
+  }
 }
 
 ExtentPlacementManager::dispatch_result_t