From: Yingxin Cheng Date: Thu, 10 Feb 2022 04:59:02 +0000 (+0800) Subject: crimson/os/seastore/segment_cleaner: make init_mark_segment_closed() private X-Git-Tag: v18.0.0~1404^2~1 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=b81b0e4796af9d9079c89eae7845cb85c3fbf534;p=ceph.git crimson/os/seastore/segment_cleaner: make init_mark_segment_closed() private Signed-off-by: Yingxin Cheng --- diff --git a/src/crimson/os/seastore/journal.cc b/src/crimson/os/seastore/journal.cc index d7854ee6cf666..1f3f467eabbe7 100644 --- a/src/crimson/os/seastore/journal.cc +++ b/src/crimson/os/seastore/journal.cc @@ -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; diff --git a/src/crimson/os/seastore/segment_cleaner.cc b/src/crimson/os/seastore/segment_cleaner.cc index 42ca4d0a64af6..cd9f88c9f64b5 100644 --- a/src/crimson/os/seastore/segment_cleaner.cc +++ b/src/crimson/os/seastore/segment_cleaner.cc @@ -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(); diff --git a/src/crimson/os/seastore/segment_cleaner.h b/src/crimson/os/seastore/segment_cleaner.h index 67342135b5e14..29bb6ef7221e5 100644 --- a/src/crimson/os/seastore/segment_cleaner.h +++ b/src/crimson/os/seastore/segment_cleaner.h @@ -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() ==