From: Yingxin Cheng Date: Thu, 21 Oct 2021 06:51:36 +0000 (+0800) Subject: crimson/os/seastore/journal: misc cleanup X-Git-Tag: v17.1.0~519^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=0f9e74ce0f5c9879a11e72a727b7d72a667635f7;p=ceph.git crimson/os/seastore/journal: misc cleanup Signed-off-by: Yingxin Cheng --- diff --git a/src/crimson/os/seastore/extent_placement_manager.cc b/src/crimson/os/seastore/extent_placement_manager.cc index 0cd50930573..b78ec32eebc 100644 --- a/src/crimson/os/seastore/extent_placement_manager.cc +++ b/src/crimson/os/seastore/extent_placement_manager.cc @@ -222,7 +222,7 @@ SegmentedAllocator::Writer::init_segment(Segment& segment) { segment_manager.get_block_size())); bp.zero(); auto header =segment_header_t{ - journal.next_journal_segment_seq - 1, // current seg seq = next seg seq - 1 + journal.get_segment_seq(), segment.get_segment_id(), NO_DELTAS, 0, true}; logger().debug("SegmentedAllocator::Writer::init_segment: initting {}, {}", diff --git a/src/crimson/os/seastore/journal.cc b/src/crimson/os/seastore/journal.cc index 3725aeee867..cdda5c50747 100644 --- a/src/crimson/os/seastore/journal.cc +++ b/src/crimson/os/seastore/journal.cc @@ -9,7 +9,6 @@ #include "include/intarith.h" #include "crimson/os/seastore/segment_cleaner.h" -#include "crimson/os/seastore/segment_manager.h" namespace { seastar::logger& logger() { @@ -206,7 +205,7 @@ Journal::prep_replay_segments( std::vector> segments) { logger().debug( - "prep_replay_segments: have {} segments", + "Journal::prep_replay_segments: have {} segments", segments.size()); if (segments.empty()) { return crimson::ct_error::input_output_error::make(); @@ -247,7 +246,7 @@ Journal::prep_replay_segments( }); if (from->second.journal_segment_seq != journal_tail.segment_seq) { logger().error( - "prep_replay_segments: journal_tail {} does not match {}", + "Journal::prep_replay_segments: journal_tail {} does not match {}", journal_tail, from->second); assert(0 == "invalid"); @@ -285,7 +284,7 @@ std::optional> Journal::try_decode_deltas( bliter += ceph::encoded_sizeof_bounded(); bliter += sizeof(checksum_t) /* crc */; bliter += header.extents * ceph::encoded_sizeof_bounded(); - logger().debug("{}: decoding {} deltas", __func__, header.deltas); + logger().debug("Journal::try_decode_deltas: decoding {} deltas", header.deltas); std::vector deltas(header.deltas); for (auto &&i : deltas) { try { @@ -303,7 +302,7 @@ Journal::replay_segment( segment_header_t header, delta_handler_t &handler) { - logger().debug("replay_segment: starting at {}", seq); + logger().debug("Journal::replay_segment: starting at {}", seq); return seastar::do_with( scan_valid_records_cursor(seq.offset), ExtentReader::found_record_handler_t( @@ -316,7 +315,7 @@ Journal::replay_segment( if (!deltas) { // This should be impossible, we did check the crc on the mdbuf logger().error( - "Journal::replay_segment unable to decode deltas for record {}", + "Journal::replay_segment: unable to decode deltas for record {}", base); assert(deltas); } @@ -375,7 +374,7 @@ Journal::replay_ret Journal::replay( (auto &handler, auto &segments) mutable -> replay_ret { return prep_replay_segments(std::move(segment_headers)).safe_then( [this, &handler, &segments](auto replay_segs) mutable { - logger().debug("replay: found {} segments", replay_segs.size()); + logger().debug("Journal::replay: found {} segments", replay_segs.size()); segments = std::move(replay_segs); return crimson::do_for_each(segments, [this, &handler](auto i) mutable { return replay_segment(i.first, i.second, handler); diff --git a/src/crimson/os/seastore/journal.h b/src/crimson/os/seastore/journal.h index a1917f3770f..7c6eb51074c 100644 --- a/src/crimson/os/seastore/journal.h +++ b/src/crimson/os/seastore/journal.h @@ -3,8 +3,6 @@ #pragma once -#include "crimson/common/log.h" - #include #include @@ -32,6 +30,13 @@ class Journal { public: Journal(SegmentManager &segment_manager, ExtentReader& scanner); + /** + * Gets the current journal segment sequence. + */ + segment_seq_t get_segment_seq() const { + return next_journal_segment_seq - 1; + } + /** * Sets the SegmentProvider. * @@ -207,7 +212,6 @@ private: const bufferlist &bl); private: - /// replays records starting at start through end of segment replay_ertr::future<> replay_segment( @@ -217,7 +221,6 @@ private: ); extent_len_t max_record_length() const; - friend class crimson::os::seastore::SegmentedAllocator; }; using JournalRef = std::unique_ptr;