]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/os/seastore: SeaStore::stop() into coroutines
authorMatan Breizman <mbreizma@redhat.com>
Tue, 29 Jul 2025 11:18:42 +0000 (11:18 +0000)
committerMatan Breizman <mbreizma@redhat.com>
Thu, 4 Sep 2025 12:39:17 +0000 (12:39 +0000)
Signed-off-by: Matan Breizman <mbreizma@redhat.com>
src/crimson/os/seastore/seastore.cc

index 92a6cfc46af296e6931703c825631da08ad9308a..e39479de4141d59df1764307edfd1d4c5e8af56a 100644 (file)
@@ -249,20 +249,15 @@ seastar::future<> SeaStore::stop()
   INFO("...");
 
   ceph_assert(seastar::this_shard_id() == primary_core);
-  return seastar::do_for_each(secondaries, [](auto& sec_dev) {
-    return sec_dev->stop();
-  }).then([this] {
-    secondaries.clear();
-    if (device) {
-      return device->stop();
-    } else {
-      return seastar::now();
-    }
-  }).then([this] {
-    return shard_stores.stop();
-  }).then([FNAME] {
-    INFO("done");
-  });
+  for (auto& sec_dev : secondaries) {
+    co_await sec_dev->stop();
+  }
+  secondaries.clear();
+  if (device) {
+    co_await device->stop();
+  }
+  co_await shard_stores.stop();
+  INFO("done");
 }
 
 SeaStore::mount_ertr::future<> SeaStore::test_mount()