From: Yingxin Cheng Date: Wed, 9 Mar 2022 14:17:57 +0000 (+0800) Subject: crimson/os/seastore/journal/segment_allocator: log name X-Git-Tag: v18.0.0~1193^2~12 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=86b419feeae92c70e714add6c41c8a2e244b8784;p=ceph.git crimson/os/seastore/journal/segment_allocator: log name Signed-off-by: Yingxin Cheng --- diff --git a/src/crimson/os/seastore/extent_placement_manager.h b/src/crimson/os/seastore/extent_placement_manager.h index a626ea9ed8bc..ebac34d6c6f9 100644 --- a/src/crimson/os/seastore/extent_placement_manager.h +++ b/src/crimson/os/seastore/extent_placement_manager.h @@ -187,7 +187,7 @@ class SegmentedAllocator : public ExtentAllocator { class Writer : public ExtentOolWriter { public: Writer(SegmentProvider& sp, SegmentManager& sm) - : segment_allocator(segment_type_t::OOL, sp, sm) {} + : segment_allocator("OOL", segment_type_t::OOL, sp, sm) {} Writer(Writer &&) = default; diff --git a/src/crimson/os/seastore/journal/segment_allocator.cc b/src/crimson/os/seastore/journal/segment_allocator.cc index 938c2b2f843b..a8146b4e4621 100644 --- a/src/crimson/os/seastore/journal/segment_allocator.cc +++ b/src/crimson/os/seastore/journal/segment_allocator.cc @@ -21,10 +21,12 @@ static segment_nonce_t generate_nonce( } SegmentAllocator::SegmentAllocator( + std::string name, segment_type_t type, SegmentProvider &sp, SegmentManager &sm) - : type{type}, + : name{name}, + type{type}, segment_provider{sp}, segment_manager{sm} { @@ -36,7 +38,7 @@ void SegmentAllocator::set_next_segment_seq(segment_seq_t seq) { LOG_PREFIX(SegmentAllocator::set_next_segment_seq); INFO("{} {} next_segment_seq={}", - type, get_device_id(), segment_seq_printer_t{seq}); + name, get_device_id(), segment_seq_printer_t{seq}); assert(type == segment_seq_to_type(seq)); next_segment_seq = seq; } @@ -80,7 +82,7 @@ SegmentAllocator::open() new_journal_tail, current_segment_nonce}; INFO("{} {} writing header to new segment ... -- {}", - type, get_device_id(), header); + name, get_device_id(), header); auto header_length = segment_manager.get_block_size(); bufferlist bl; @@ -120,7 +122,7 @@ SegmentAllocator::open() segment_provider.update_journal_tail_committed(new_journal_tail); } DEBUG("{} {} rolled new segment id={}", - type, get_device_id(), current_segment->get_segment_id()); + name, get_device_id(), current_segment->get_segment_id()); ceph_assert(new_journal_seq.segment_seq == get_current_segment_seq()); return new_journal_seq; }); @@ -148,7 +150,7 @@ SegmentAllocator::write(ceph::bufferlist to_write) paddr_t::make_seg_paddr( current_segment->get_segment_id(), write_start_offset) }; - TRACE("{} {} {}~{}", type, get_device_id(), write_start_seq, write_length); + TRACE("{} {} {}~{}", name, get_device_id(), write_start_seq, write_length); assert(write_length > 0); assert((write_length % segment_manager.get_block_size()) == 0); assert(!needs_roll(write_length)); @@ -185,7 +187,7 @@ SegmentAllocator::close() if (current_segment) { return close_segment(false); } else { - INFO("{} {} no current segment", type, get_device_id()); + INFO("{} {} no current segment", name, get_device_id()); return close_segment_ertr::now(); } }().finally([this] { @@ -200,7 +202,7 @@ SegmentAllocator::close_segment(bool is_rolling) assert(can_write()); auto close_segment_id = current_segment->get_segment_id(); INFO("{} {} close segment id={}, seq={}, written_to={}, nonce={}", - type, get_device_id(), + name, get_device_id(), close_segment_id, segment_seq_printer_t{get_current_segment_seq()}, written_to, diff --git a/src/crimson/os/seastore/journal/segment_allocator.h b/src/crimson/os/seastore/journal/segment_allocator.h index 70b8584cc1c6..98266f3fd092 100644 --- a/src/crimson/os/seastore/journal/segment_allocator.h +++ b/src/crimson/os/seastore/journal/segment_allocator.h @@ -24,10 +24,15 @@ class SegmentAllocator { crimson::ct_error::input_output_error>; public: - SegmentAllocator(segment_type_t type, + SegmentAllocator(std::string name, + segment_type_t type, SegmentProvider &sp, SegmentManager &sm); + const std::string& get_name() const { + return name; + } + device_id_t get_device_id() const { return segment_manager.get_device_id(); } @@ -123,6 +128,7 @@ class SegmentAllocator { return ret; } + const std::string name; const segment_type_t type; // JOURNAL or OOL SegmentProvider &segment_provider; SegmentManager &segment_manager; diff --git a/src/crimson/os/seastore/journal/segmented_journal.cc b/src/crimson/os/seastore/journal/segmented_journal.cc index fad6f0ee1dac..db4596d22296 100644 --- a/src/crimson/os/seastore/journal/segmented_journal.cc +++ b/src/crimson/os/seastore/journal/segmented_journal.cc @@ -31,7 +31,8 @@ SegmentedJournal::SegmentedJournal( ExtentReader &scanner, SegmentProvider &segment_provider) : segment_provider(segment_provider), - journal_segment_allocator(segment_type_t::JOURNAL, + journal_segment_allocator("JOURNAL", + segment_type_t::JOURNAL, segment_provider, segment_manager), record_submitter(crimson::common::get_conf(