From 1b544e96c53ad6395e64133f3e6db32988cad0c6 Mon Sep 17 00:00:00 2001 From: Yingxin Cheng Date: Fri, 24 May 2024 11:39:04 +0800 Subject: [PATCH] crimson/os/seastore/seastore_types: replace the deprecated journal_type_t Replace by backend_type_t. Signed-off-by: Yingxin Cheng (cherry picked from commit 7800ad515af6774821d4cbe3ee69e105b3a8bcf6) --- src/crimson/os/seastore/async_cleaner.cc | 26 +++++++++---------- src/crimson/os/seastore/async_cleaner.h | 16 ++++++------ .../os/seastore/extent_placement_manager.cc | 4 +-- .../os/seastore/extent_placement_manager.h | 10 +++---- src/crimson/os/seastore/journal.h | 2 +- .../journal/circular_bounded_journal.h | 4 +-- .../os/seastore/journal/segmented_journal.h | 4 +-- src/crimson/os/seastore/seastore_types.cc | 12 ++++----- src/crimson/os/seastore/seastore_types.h | 5 ++-- .../os/seastore/transaction_manager.cc | 14 +++++----- .../seastore/transaction_manager_test_state.h | 1 - 11 files changed, 48 insertions(+), 50 deletions(-) diff --git a/src/crimson/os/seastore/async_cleaner.cc b/src/crimson/os/seastore/async_cleaner.cc index a9d22b1269c..4ca5d1a2069 100644 --- a/src/crimson/os/seastore/async_cleaner.cc +++ b/src/crimson/os/seastore/async_cleaner.cc @@ -349,18 +349,18 @@ void JournalTrimmerImpl::config_t::validate() const JournalTrimmerImpl::config_t JournalTrimmerImpl::config_t::get_default( - std::size_t roll_size, journal_type_t type) + std::size_t roll_size, backend_type_t type) { assert(roll_size); std::size_t target_dirty_bytes = 0; std::size_t target_alloc_bytes = 0; std::size_t max_journal_bytes = 0; - if (type == journal_type_t::SEGMENTED) { + if (type == backend_type_t::SEGMENTED) { target_dirty_bytes = 12 * roll_size; target_alloc_bytes = 2 * roll_size; max_journal_bytes = 16 * roll_size; } else { - assert(type == journal_type_t::RANDOM_BLOCK); + assert(type == backend_type_t::RANDOM_BLOCK); target_dirty_bytes = roll_size / 4; target_alloc_bytes = roll_size / 4; max_journal_bytes = roll_size / 2; @@ -376,18 +376,18 @@ JournalTrimmerImpl::config_t::get_default( JournalTrimmerImpl::config_t JournalTrimmerImpl::config_t::get_test( - std::size_t roll_size, journal_type_t type) + std::size_t roll_size, backend_type_t type) { assert(roll_size); std::size_t target_dirty_bytes = 0; std::size_t target_alloc_bytes = 0; std::size_t max_journal_bytes = 0; - if (type == journal_type_t::SEGMENTED) { + if (type == backend_type_t::SEGMENTED) { target_dirty_bytes = 2 * roll_size; target_alloc_bytes = 2 * roll_size; max_journal_bytes = 4 * roll_size; } else { - assert(type == journal_type_t::RANDOM_BLOCK); + assert(type == backend_type_t::RANDOM_BLOCK); target_dirty_bytes = roll_size / 36; target_alloc_bytes = roll_size / 4; max_journal_bytes = roll_size / 2; @@ -404,12 +404,12 @@ JournalTrimmerImpl::config_t::get_test( JournalTrimmerImpl::JournalTrimmerImpl( BackrefManager &backref_manager, config_t config, - journal_type_t type, + backend_type_t type, device_off_t roll_start, device_off_t roll_size) : backref_manager(backref_manager), config(config), - journal_type(type), + backend_type(type), roll_start(roll_start), roll_size(roll_size), reserved_usage(0) @@ -507,7 +507,7 @@ journal_seq_t JournalTrimmerImpl::get_tail_limit() const { assert(background_callback->is_ready()); auto ret = journal_head.add_offset( - journal_type, + backend_type, -static_cast(config.max_journal_bytes), roll_start, roll_size); @@ -518,7 +518,7 @@ journal_seq_t JournalTrimmerImpl::get_dirty_tail_target() const { assert(background_callback->is_ready()); auto ret = journal_head.add_offset( - journal_type, + backend_type, -static_cast(config.target_journal_dirty_bytes), roll_start, roll_size); @@ -529,7 +529,7 @@ journal_seq_t JournalTrimmerImpl::get_alloc_tail_target() const { assert(background_callback->is_ready()); auto ret = journal_head.add_offset( - journal_type, + backend_type, -static_cast(config.target_journal_alloc_bytes), roll_start, roll_size); @@ -542,7 +542,7 @@ std::size_t JournalTrimmerImpl::get_dirty_journal_size() const return 0; } auto ret = journal_head.relative_to( - journal_type, + backend_type, journal_dirty_tail, roll_start, roll_size); @@ -556,7 +556,7 @@ std::size_t JournalTrimmerImpl::get_alloc_journal_size() const return 0; } auto ret = journal_head.relative_to( - journal_type, + backend_type, journal_alloc_tail, roll_start, roll_size); diff --git a/src/crimson/os/seastore/async_cleaner.h b/src/crimson/os/seastore/async_cleaner.h index 6ff1065c4e6..3b041d23064 100644 --- a/src/crimson/os/seastore/async_cleaner.h +++ b/src/crimson/os/seastore/async_cleaner.h @@ -491,16 +491,16 @@ public: void validate() const; static config_t get_default( - std::size_t roll_size, journal_type_t type); + std::size_t roll_size, backend_type_t type); static config_t get_test( - std::size_t roll_size, journal_type_t type); + std::size_t roll_size, backend_type_t type); }; JournalTrimmerImpl( BackrefManager &backref_manager, config_t config, - journal_type_t type, + backend_type_t type, device_off_t roll_start, device_off_t roll_size); @@ -538,8 +538,8 @@ public: config.rewrite_dirty_bytes_per_cycle; } - journal_type_t get_journal_type() const { - return journal_type; + backend_type_t get_backend_type() const { + return backend_type; } void set_extent_callback(ExtentCallbackInterface *cb) { @@ -564,7 +564,7 @@ public: bool should_block_io_on_trim() const { return get_tail_limit() > get_journal_tail().add_offset( - journal_type, reserved_usage, roll_start, roll_size); + backend_type, reserved_usage, roll_start, roll_size); } bool try_reserve_inline_usage(std::size_t usage) final { @@ -587,7 +587,7 @@ public: static JournalTrimmerImplRef create( BackrefManager &backref_manager, config_t config, - journal_type_t type, + backend_type_t type, device_off_t roll_start, device_off_t roll_size) { return std::make_unique( @@ -627,7 +627,7 @@ private: BackrefManager &backref_manager; config_t config; - journal_type_t journal_type; + backend_type_t backend_type; device_off_t roll_start; device_off_t roll_size; diff --git a/src/crimson/os/seastore/extent_placement_manager.cc b/src/crimson/os/seastore/extent_placement_manager.cc index c5b5751bdb3..bef27f7a5e5 100644 --- a/src/crimson/os/seastore/extent_placement_manager.cc +++ b/src/crimson/os/seastore/extent_placement_manager.cc @@ -191,7 +191,7 @@ void ExtentPlacementManager::init( dynamic_max_rewrite_generation = MAX_REWRITE_GENERATION; } - if (trimmer->get_journal_type() == journal_type_t::SEGMENTED) { + if (trimmer->get_backend_type() == backend_type_t::SEGMENTED) { auto segment_cleaner = dynamic_cast(cleaner.get()); ceph_assert(segment_cleaner != nullptr); auto num_writers = generation_to_writer(dynamic_max_rewrite_generation + 1); @@ -217,7 +217,7 @@ void ExtentPlacementManager::init( add_device(device); } } else { - assert(trimmer->get_journal_type() == journal_type_t::RANDOM_BLOCK); + 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); diff --git a/src/crimson/os/seastore/extent_placement_manager.h b/src/crimson/os/seastore/extent_placement_manager.h index 458336c02e9..b98f32d8b4d 100644 --- a/src/crimson/os/seastore/extent_placement_manager.h +++ b/src/crimson/os/seastore/extent_placement_manager.h @@ -250,8 +250,8 @@ public: return writer->can_inplace_rewrite(t, extent); } - journal_type_t get_journal_type() const { - return background_process.get_journal_type(); + backend_type_t get_backend_type() const { + return background_process.get_backend_type(); } extent_len_t get_block_size() const { @@ -644,8 +644,8 @@ private: } } - journal_type_t get_journal_type() const { - return trimmer->get_journal_type(); + backend_type_t get_backend_type() const { + return trimmer->get_backend_type(); } bool has_cold_tier() const { @@ -764,7 +764,7 @@ private: seastar::future<> stop_background(); backend_type_t get_main_backend_type() const { - return get_journal_type(); + return get_backend_type(); } // Testing interfaces diff --git a/src/crimson/os/seastore/journal.h b/src/crimson/os/seastore/journal.h index 633aa84d7db..2012e602cd9 100644 --- a/src/crimson/os/seastore/journal.h +++ b/src/crimson/os/seastore/journal.h @@ -103,7 +103,7 @@ public: virtual ~Journal() {} - virtual journal_type_t get_type() = 0; + virtual backend_type_t get_type() = 0; }; using JournalRef = std::unique_ptr; diff --git a/src/crimson/os/seastore/journal/circular_bounded_journal.h b/src/crimson/os/seastore/journal/circular_bounded_journal.h index debe535aef3..d3a955ef68e 100644 --- a/src/crimson/os/seastore/journal/circular_bounded_journal.h +++ b/src/crimson/os/seastore/journal/circular_bounded_journal.h @@ -72,8 +72,8 @@ public: close_ertr::future<> close() final; - journal_type_t get_type() final { - return journal_type_t::RANDOM_BLOCK; + backend_type_t get_type() final { + return backend_type_t::RANDOM_BLOCK; } submit_record_ret submit_record( diff --git a/src/crimson/os/seastore/journal/segmented_journal.h b/src/crimson/os/seastore/journal/segmented_journal.h index 3d580817c0f..45e44dafb03 100644 --- a/src/crimson/os/seastore/journal/segmented_journal.h +++ b/src/crimson/os/seastore/journal/segmented_journal.h @@ -52,8 +52,8 @@ public: write_pipeline = _write_pipeline; } - journal_type_t get_type() final { - return journal_type_t::SEGMENTED; + backend_type_t get_type() final { + return backend_type_t::SEGMENTED; } seastar::future<> finish_commit(transaction_type_t type) { return seastar::now(); diff --git a/src/crimson/os/seastore/seastore_types.cc b/src/crimson/os/seastore/seastore_types.cc index 1ca34e61dd8..9722d99da79 100644 --- a/src/crimson/os/seastore/seastore_types.cc +++ b/src/crimson/os/seastore/seastore_types.cc @@ -133,7 +133,7 @@ std::ostream &operator<<(std::ostream &out, const paddr_t &rhs) } journal_seq_t journal_seq_t::add_offset( - journal_type_t type, + backend_type_t type, device_off_t off, device_off_t roll_start, device_off_t roll_size) const @@ -145,10 +145,10 @@ journal_seq_t journal_seq_t::add_offset( segment_seq_t jseq = segment_seq; device_off_t joff; - if (type == journal_type_t::SEGMENTED) { + if (type == backend_type_t::SEGMENTED) { joff = offset.as_seg_paddr().get_segment_off(); } else { - assert(type == journal_type_t::RANDOM_BLOCK); + assert(type == backend_type_t::RANDOM_BLOCK); auto boff = offset.as_blk_paddr().get_device_off(); joff = boff; } @@ -184,7 +184,7 @@ journal_seq_t journal_seq_t::add_offset( } device_off_t journal_seq_t::relative_to( - journal_type_t type, + backend_type_t type, const journal_seq_t& r, device_off_t roll_start, device_off_t roll_size) const @@ -196,11 +196,11 @@ device_off_t journal_seq_t::relative_to( device_off_t ret = static_cast(segment_seq) - r.segment_seq; ret *= roll_size; - if (type == journal_type_t::SEGMENTED) { + if (type == backend_type_t::SEGMENTED) { ret += (static_cast(offset.as_seg_paddr().get_segment_off()) - static_cast(r.offset.as_seg_paddr().get_segment_off())); } else { - assert(type == journal_type_t::RANDOM_BLOCK); + assert(type == backend_type_t::RANDOM_BLOCK); ret += offset.as_blk_paddr().get_device_off() - r.offset.as_blk_paddr().get_device_off(); } diff --git a/src/crimson/os/seastore/seastore_types.h b/src/crimson/os/seastore/seastore_types.h index e670a43c88e..939d12de4f3 100644 --- a/src/crimson/os/seastore/seastore_types.h +++ b/src/crimson/os/seastore/seastore_types.h @@ -904,7 +904,6 @@ enum class backend_type_t { }; std::ostream& operator<<(std::ostream& out, backend_type_t); -using journal_type_t = backend_type_t; constexpr backend_type_t get_default_backend_of_device(device_type_t dtype) { assert(dtype != device_type_t::NONE && @@ -933,13 +932,13 @@ struct journal_seq_t { // produces a pseudo journal_seq_t relative to this by offset journal_seq_t add_offset( - journal_type_t type, + backend_type_t type, device_off_t off, device_off_t roll_start, device_off_t roll_size) const; device_off_t relative_to( - journal_type_t type, + backend_type_t type, const journal_seq_t& r, device_off_t roll_start, device_off_t roll_size) const; diff --git a/src/crimson/os/seastore/transaction_manager.cc b/src/crimson/os/seastore/transaction_manager.cc index 8a187c395e7..1f3196d6cae 100644 --- a/src/crimson/os/seastore/transaction_manager.cc +++ b/src/crimson/os/seastore/transaction_manager.cc @@ -786,10 +786,10 @@ TransactionManagerRef make_transaction_manager( } } - auto journal_type = p_backend_type; + auto backend_type = p_backend_type; device_off_t roll_size; device_off_t roll_start; - if (journal_type == journal_type_t::SEGMENTED) { + if (backend_type == backend_type_t::SEGMENTED) { roll_size = static_cast(primary_device)->get_segment_size(); roll_start = 0; } else { @@ -812,17 +812,17 @@ TransactionManagerRef make_transaction_manager( cleaner_is_detailed = true; cleaner_config = SegmentCleaner::config_t::get_test(); trimmer_config = JournalTrimmerImpl::config_t::get_test( - roll_size, journal_type); + roll_size, backend_type); } else { cleaner_is_detailed = false; cleaner_config = SegmentCleaner::config_t::get_default(); trimmer_config = JournalTrimmerImpl::config_t::get_default( - roll_size, journal_type); + roll_size, backend_type); } auto journal_trimmer = JournalTrimmerImpl::create( *backref_manager, trimmer_config, - journal_type, roll_start, roll_size); + backend_type, roll_start, roll_size); AsyncCleanerRef cleaner; JournalRef journal; @@ -837,7 +837,7 @@ TransactionManagerRef make_transaction_manager( epm->get_ool_segment_seq_allocator(), cleaner_is_detailed, /* is_cold = */ true); - if (journal_type == journal_type_t::SEGMENTED) { + if (backend_type == backend_type_t::SEGMENTED) { for (auto id : cold_segment_cleaner->get_device_ids()) { segment_providers_by_id[id] = static_cast(cold_segment_cleaner.get()); @@ -845,7 +845,7 @@ TransactionManagerRef make_transaction_manager( } } - if (journal_type == journal_type_t::SEGMENTED) { + if (backend_type == backend_type_t::SEGMENTED) { cleaner = SegmentCleaner::create( cleaner_config, std::move(sms), diff --git a/src/test/crimson/seastore/transaction_manager_test_state.h b/src/test/crimson/seastore/transaction_manager_test_state.h index c88bb15dced..451d795a317 100644 --- a/src/test/crimson/seastore/transaction_manager_test_state.h +++ b/src/test/crimson/seastore/transaction_manager_test_state.h @@ -183,7 +183,6 @@ class EphemeralTestState { #endif protected: - journal_type_t journal_type; size_t num_main_device_managers = 0; size_t num_cold_device_managers = 0; EphemeralDevicesRef devices; -- 2.39.5