]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/os/seastore/segment_cleaner: make init_mark_segment_closed() private
authorYingxin Cheng <yingxin.cheng@intel.com>
Thu, 10 Feb 2022 04:59:02 +0000 (12:59 +0800)
committerYingxin Cheng <yingxin.cheng@intel.com>
Thu, 10 Feb 2022 05:22:10 +0000 (13:22 +0800)
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
src/crimson/os/seastore/journal.cc
src/crimson/os/seastore/segment_cleaner.cc
src/crimson/os/seastore/segment_cleaner.h

index d7854ee6cf666948df69dc535e501cdfcc8c0e62..1f3f467eabbe7fa3bfa7049107089cf8081827fa 100644 (file)
@@ -98,10 +98,6 @@ Journal::prep_replay_segments(
       ERROR("illegal journal segment for replay -- {}", seg.second);
       ceph_abort();
     }
-    segment_provider->init_mark_segment_closed(
-      seg.first,
-      seg.second.journal_segment_seq,
-      false);
   });
 
   auto journal_tail = segments.rbegin()->second.journal_tail;
index 42ca4d0a64af652a038952d985bdb3acdbf4d40d..cd9f88c9f64b5625e7a38a5f0e02fc86eb87af5d 100644 (file)
@@ -449,8 +449,11 @@ SegmentCleaner::init_segments_ret SegmentCleaner::init_segments() {
              "ExtentReader::init_segments: journal segment {}",
              segment_id);
            segment_set.emplace_back(std::make_pair(segment_id, std::move(header)));
+           init_mark_segment_closed(
+             segment_id,
+             header.journal_segment_seq,
+             false);
          }
-         return seastar::now();
        }).handle_error(
          crimson::ct_error::enoent::handle([](auto) {
            return init_segments_ertr::now();
index 67342135b5e1444236e719806e33e1ac74c12048..29bb6ef7221e5306ad2c93c3e7bba0b61347e054 100644 (file)
@@ -285,11 +285,6 @@ public:
   virtual journal_seq_t get_journal_tail_target() const = 0;
   virtual void update_journal_tail_committed(journal_seq_t tail_committed) = 0;
 
-  virtual void init_mark_segment_closed(
-    segment_id_t segment,
-    segment_seq_t seq,
-    bool out_of_line) {}
-
   virtual segment_seq_t get_seq(segment_id_t id) { return 0; }
 
   virtual void update_segment_avail_bytes(paddr_t offset) = 0;
@@ -762,24 +757,6 @@ public:
     segments.update_segment_avail_bytes(offset);
   }
 
-  void init_mark_segment_closed(
-    segment_id_t segment,
-    segment_seq_t seq,
-    bool out_of_line) final
-  {
-    crimson::get_logger(ceph_subsys_seastore_cleaner).debug(
-      "SegmentCleaner::init_mark_segment_closed: segment {}, seq {}",
-      segment,
-      seq);
-    mark_closed(segment);
-    segments[segment].journal_segment_seq = seq;
-    segments[segment].out_of_line = out_of_line;
-    if (!segments[segment].out_of_line) {
-      assert(journal_device_id == segment.device_id());
-      segments.new_journal_segment();
-    }
-  }
-
   segment_seq_t get_seq(segment_id_t id) final {
     return segments[id].journal_segment_seq;
   }
@@ -1278,6 +1255,22 @@ private:
     return gc_should_reclaim_space() || gc_should_trim_journal();
   }
 
+  void init_mark_segment_closed(
+    segment_id_t segment,
+    segment_seq_t seq,
+    bool out_of_line) {
+    crimson::get_logger(ceph_subsys_seastore_cleaner).debug(
+      "SegmentCleaner::init_mark_segment_closed: segment {}, seq {}",
+      segment,
+      seq);
+    mark_closed(segment);
+    segments[segment].journal_segment_seq = seq;
+    segments[segment].out_of_line = out_of_line;
+    if (!segments[segment].out_of_line) {
+      assert(journal_device_id == segment.device_id());
+      segments.new_journal_segment();
+    }
+  }
 
   void mark_closed(segment_id_t segment) {
     assert(segment.device_id() ==