]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/os/seastore/epm: BackgroundProcess::mount() refactor
authorMatan Breizman <mbreizma@redhat.com>
Sun, 21 Sep 2025 15:09:28 +0000 (15:09 +0000)
committerMatan Breizman <mbreizma@redhat.com>
Mon, 29 Sep 2025 11:05:09 +0000 (11:05 +0000)
Moved to cc file, added logs, switched to coroutines.

Signed-off-by: Matan Breizman <mbreizma@redhat.com>
src/crimson/os/seastore/extent_placement_manager.cc
src/crimson/os/seastore/extent_placement_manager.h

index 275d8c4dd7ce2352fa1b1737cb432a82fa57a2dd..48562728b2b7c6cace15463bf96b2b50999d6c76 100644 (file)
@@ -584,6 +584,22 @@ void ExtentPlacementManager::BackgroundProcess::log_state(const char *caller) co
   }
 }
 
+ExtentPlacementManager::mount_ret ExtentPlacementManager::BackgroundProcess::mount() {
+  LOG_PREFIX(BackgroundProcess::mount);
+  DEBUG("start");
+  ceph_assert(state == state_t::STOP);
+  state = state_t::MOUNT;
+  trimmer->reset();
+  stats = {};
+  register_metrics();
+  DEBUG("mounting main cleaner");
+  co_await main_cleaner->mount();
+  if (has_cold_tier()) {
+    DEBUG("mounting cold cleaner");
+    co_await cold_cleaner->mount();
+  }
+}
+
 void ExtentPlacementManager::BackgroundProcess::start_background()
 {
   LOG_PREFIX(BackgroundProcess::start_background);
index 994edc85829f35ea4f0bf12006d0a2b3c0613f18..f578fd5c7a9a95ea969608c55899c8c543706777 100644 (file)
@@ -747,18 +747,7 @@ private:
       return stat;
     }
 
-    using mount_ret = ExtentPlacementManager::mount_ret;
-    mount_ret mount() {
-      ceph_assert(state == state_t::STOP);
-      state = state_t::MOUNT;
-      trimmer->reset();
-      stats = {};
-      register_metrics();
-      return main_cleaner->mount(
-      ).safe_then([this] {
-        return has_cold_tier() ? cold_cleaner->mount() : mount_ertr::now();
-      });
-    }
+    ExtentPlacementManager::mount_ret mount();
 
     void start_scan_space() {
       ceph_assert(state == state_t::MOUNT);