@@ -192,19 +192,27 @@ void ExtentPlacementManager::init(
192192 AsyncCleanerRef &&cleaner,
193193 AsyncCleanerRef &&cold_cleaner)
194194{
195+ LOG_PREFIX (ExtentPlacementManager::init);
195196 writer_refs.clear ();
196197 auto cold_segment_cleaner = dynamic_cast <SegmentCleaner*>(cold_cleaner.get ());
197198 dynamic_max_rewrite_generation = hot_tier_generations - 1 ;
198199 if (cold_segment_cleaner) {
199200 dynamic_max_rewrite_generation = hot_tier_generations + cold_tier_generations - 1 ;
200201 }
202+ DEBUG (" dynamic_max_rewrite_generation: {}, "
203+ " hot_tier_generations{} , cold_tier_generations {}" ,
204+ dynamic_max_rewrite_generation, hot_tier_generations,
205+ cold_tier_generations);
201206 ceph_assert (dynamic_max_rewrite_generation > MIN_REWRITE_GENERATION);
202207
203208 if (trimmer->get_backend_type () == backend_type_t ::SEGMENTED) {
209+ DEBUG (" initiating SegmentCleaner" );
204210 auto segment_cleaner = dynamic_cast <SegmentCleaner*>(cleaner.get ());
205211 ceph_assert (segment_cleaner != nullptr );
206212 auto num_writers = generation_to_writer (dynamic_max_rewrite_generation + 1 );
213+ DEBUG (" num_writers {}" , num_writers);
207214
215+ // DATA
208216 data_writers_by_gen.resize (num_writers, nullptr );
209217 for (rewrite_gen_t gen = OOL_GENERATION; gen < hot_tier_generations; ++gen) {
210218 writer_refs.emplace_back (std::make_unique<SegmentedOolWriter>(
@@ -213,6 +221,7 @@ void ExtentPlacementManager::init(
213221 data_writers_by_gen[generation_to_writer (gen)] = writer_refs.back ().get ();
214222 }
215223
224+ // METADATA
216225 md_writers_by_gen.resize (num_writers, {});
217226 for (rewrite_gen_t gen = OOL_GENERATION; gen < hot_tier_generations; ++gen) {
218227 writer_refs.emplace_back (std::make_unique<SegmentedOolWriter>(
@@ -226,10 +235,12 @@ void ExtentPlacementManager::init(
226235 add_device (device);
227236 }
228237 } else {
238+ DEBUG (" initiating RBMCleaner cleaner" );
229239 assert (trimmer->get_backend_type () == backend_type_t ::RANDOM_BLOCK);
230240 auto rb_cleaner = dynamic_cast <RBMCleaner*>(cleaner.get ());
231241 ceph_assert (rb_cleaner != nullptr );
232242 auto num_writers = generation_to_writer (dynamic_max_rewrite_generation + 1 );
243+ DEBUG (" num_writers {}" , num_writers);
233244 data_writers_by_gen.resize (num_writers, nullptr );
234245 md_writers_by_gen.resize (num_writers, {});
235246 writer_refs.emplace_back (std::make_unique<RandomBlockOolWriter>(
@@ -243,13 +254,15 @@ void ExtentPlacementManager::init(
243254 }
244255
245256 if (cold_segment_cleaner) {
257+ // Cold DATA Segments
246258 for (rewrite_gen_t gen = hot_tier_generations; gen <= dynamic_max_rewrite_generation; ++gen) {
247259 writer_refs.emplace_back (std::make_unique<SegmentedOolWriter>(
248260 data_category_t ::DATA, gen, *cold_segment_cleaner,
249261 *ool_segment_seq_allocator));
250262 data_writers_by_gen[generation_to_writer (gen)] = writer_refs.back ().get ();
251263 }
252264 for (rewrite_gen_t gen = hot_tier_generations; gen <= dynamic_max_rewrite_generation; ++gen) {
265+ // Cold METADATA Segments
253266 writer_refs.emplace_back (std::make_unique<SegmentedOolWriter>(
254267 data_category_t ::METADATA, gen, *cold_segment_cleaner,
255268 *ool_segment_seq_allocator));
0 commit comments