]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/os/seastore/journal: misc cleanup
authorYingxin Cheng <yingxin.cheng@intel.com>
Thu, 21 Oct 2021 06:51:36 +0000 (14:51 +0800)
committerYingxin Cheng <yingxin.cheng@intel.com>
Fri, 29 Oct 2021 01:33:38 +0000 (09:33 +0800)
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
src/crimson/os/seastore/extent_placement_manager.cc
src/crimson/os/seastore/journal.cc
src/crimson/os/seastore/journal.h

index 0cd50930573a697ce90c172ea22a7e219196715a..b78ec32eebc6993c10423e72ea0778d41a332b03 100644 (file)
@@ -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 {}, {}",
index 3725aeee86741727f472e522efdbe0d6e33c1db1..cdda5c50747aeeda06b3b44652db25b5096e568a 100644 (file)
@@ -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<std::pair<segment_id_t, segment_header_t>> 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<std::vector<delta_info_t>> Journal::try_decode_deltas(
   bliter += ceph::encoded_sizeof_bounded<record_header_t>();
   bliter += sizeof(checksum_t) /* crc */;
   bliter += header.extents  * ceph::encoded_sizeof_bounded<extent_info_t>();
-  logger().debug("{}: decoding {} deltas", __func__, header.deltas);
+  logger().debug("Journal::try_decode_deltas: decoding {} deltas", header.deltas);
   std::vector<delta_info_t> 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);
index a1917f3770f6255face0669682abd4609d4bbb6e..7c6eb51074c05dce7d87c22743dfe6d650929865 100644 (file)
@@ -3,8 +3,6 @@
 
 #pragma once
 
-#include "crimson/common/log.h"
-
 #include <boost/intrusive_ptr.hpp>
 
 #include <seastar/core/future.hh>
@@ -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<Journal>;