From: Matan Breizman Date: Sun, 31 Aug 2025 14:29:21 +0000 (+0000) Subject: crimson/os/seastore/epm: Add logs and comments X-Git-Tag: testing/wip-vshankar-testing-20250917.163544-debug~14^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=7ec88cc601fa4fc43a69ebf0719497dc3578ef79;p=ceph-ci.git crimson/os/seastore/epm: Add logs and comments 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 be53c9c292c..b792ca86d9f 100644 --- a/src/crimson/os/seastore/extent_placement_manager.cc +++ b/src/crimson/os/seastore/extent_placement_manager.cc @@ -192,19 +192,28 @@ void ExtentPlacementManager::init( AsyncCleanerRef &&cleaner, AsyncCleanerRef &&cold_cleaner) { + LOG_PREFIX(ExtentPlacementManager::init); writer_refs.clear(); auto cold_segment_cleaner = dynamic_cast(cold_cleaner.get()); dynamic_max_rewrite_generation = hot_tier_generations - 1; if (cold_segment_cleaner) { dynamic_max_rewrite_generation = hot_tier_generations + cold_tier_generations - 1; } + DEBUG("dynamic_max_rewrite_generation: {}, " + "hot_tier_generations{} , cold_tier_generations {}", + dynamic_max_rewrite_generation, hot_tier_generations, + cold_tier_generations); + // TODO: hot_tier_generations should have a minumum.. ceph_assert(dynamic_max_rewrite_generation > MIN_REWRITE_GENERATION); if (trimmer->get_backend_type() == backend_type_t::SEGMENTED) { + DEBUG("initiating SegmentCleaner"); auto segment_cleaner = dynamic_cast(cleaner.get()); ceph_assert(segment_cleaner != nullptr); auto num_writers = generation_to_writer(dynamic_max_rewrite_generation + 1); + DEBUG("num_writers {}", num_writers); + // DATA data_writers_by_gen.resize(num_writers, nullptr); for (rewrite_gen_t gen = OOL_GENERATION; gen < hot_tier_generations; ++gen) { writer_refs.emplace_back(std::make_unique( @@ -213,6 +222,7 @@ void ExtentPlacementManager::init( data_writers_by_gen[generation_to_writer(gen)] = writer_refs.back().get(); } + // METADATA md_writers_by_gen.resize(num_writers, {}); for (rewrite_gen_t gen = OOL_GENERATION; gen < hot_tier_generations; ++gen) { writer_refs.emplace_back(std::make_unique( @@ -226,10 +236,12 @@ void ExtentPlacementManager::init( add_device(device); } } else { + DEBUG("initiating RBMCleaner cleaner"); assert(trimmer->get_backend_type() == backend_type_t::RANDOM_BLOCK); auto rb_cleaner = dynamic_cast(cleaner.get()); ceph_assert(rb_cleaner != nullptr); auto num_writers = generation_to_writer(dynamic_max_rewrite_generation + 1); + DEBUG("num_writers {}", num_writers); data_writers_by_gen.resize(num_writers, nullptr); md_writers_by_gen.resize(num_writers, {}); writer_refs.emplace_back(std::make_unique( @@ -243,6 +255,7 @@ void ExtentPlacementManager::init( } if (cold_segment_cleaner) { + // Cold DATA Segments for (rewrite_gen_t gen = hot_tier_generations; gen <= dynamic_max_rewrite_generation; ++gen) { writer_refs.emplace_back(std::make_unique( data_category_t::DATA, gen, *cold_segment_cleaner, @@ -250,6 +263,7 @@ void ExtentPlacementManager::init( data_writers_by_gen[generation_to_writer(gen)] = writer_refs.back().get(); } for (rewrite_gen_t gen = hot_tier_generations; gen <= dynamic_max_rewrite_generation; ++gen) { + // Cold METADATA Segments writer_refs.emplace_back(std::make_unique( data_category_t::METADATA, gen, *cold_segment_cleaner, *ool_segment_seq_allocator));