From: Matan Breizman Date: Sun, 21 Sep 2025 15:09:28 +0000 (+0000) Subject: crimson/os/seastore/epm: BackgroundProcess::mount() refactor X-Git-Tag: v21.0.0~209^2~76^2~6 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ce9ca7264c879dc67bf7ca48fa2d9c076a88e465;p=ceph.git crimson/os/seastore/epm: BackgroundProcess::mount() refactor Moved to cc file, added logs, switched to coroutines. Signed-off-by: Matan Breizman --- diff --git a/src/crimson/os/seastore/extent_placement_manager.cc b/src/crimson/os/seastore/extent_placement_manager.cc index 275d8c4dd7ce..48562728b2b7 100644 --- a/src/crimson/os/seastore/extent_placement_manager.cc +++ b/src/crimson/os/seastore/extent_placement_manager.cc @@ -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); diff --git a/src/crimson/os/seastore/extent_placement_manager.h b/src/crimson/os/seastore/extent_placement_manager.h index 994edc85829f..f578fd5c7a9a 100644 --- a/src/crimson/os/seastore/extent_placement_manager.h +++ b/src/crimson/os/seastore/extent_placement_manager.h @@ -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);