From: Yingxin Cheng Date: Thu, 21 Jul 2022 07:49:54 +0000 (+0800) Subject: crimson/os/seastore: drop journal tail info from segment_tail_t X-Git-Tag: v18.0.0~446^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=f4db494c95b0d6768d87553d72ac7913a550b6e0;p=ceph.git crimson/os/seastore: drop journal tail info from segment_tail_t We will write a segment header right after writing a segment tail during rolling, so there is no need to store journal tail in segment tail. Signed-off-by: Yingxin Cheng --- diff --git a/src/crimson/os/seastore/async_cleaner.cc b/src/crimson/os/seastore/async_cleaner.cc index d19e0c53bea..28b1a16453a 100644 --- a/src/crimson/os/seastore/async_cleaner.cc +++ b/src/crimson/os/seastore/async_cleaner.cc @@ -1129,12 +1129,6 @@ AsyncCleaner::mount_ret AsyncCleaner::mount() if (tail.segment_nonce != header.segment_nonce) { return scan_no_tail_segment(header, segment_id); } - if (tail.get_type() == segment_type_t::JOURNAL) { - update_journal_tail_committed(tail.journal_tail); - update_journal_tail_target( - tail.journal_tail, - tail.alloc_replay_from); - } sea_time_point modify_time = mod_to_timepoint(tail.modify_time); std::size_t num_extents = tail.num_extents; diff --git a/src/crimson/os/seastore/journal/segment_allocator.cc b/src/crimson/os/seastore/journal/segment_allocator.cc index 47911c6425e..baf1ee89f10 100644 --- a/src/crimson/os/seastore/journal/segment_allocator.cc +++ b/src/crimson/os/seastore/journal/segment_allocator.cc @@ -210,15 +210,6 @@ SegmentAllocator::close_segment() auto close_segment_id = seg_to_close->get_segment_id(); segment_provider.close_segment(close_segment_id); auto close_seg_info = segment_provider.get_seg_info(close_segment_id); - journal_seq_t cur_journal_tail; - journal_seq_t new_alloc_replay_from; - if (type == segment_type_t::JOURNAL) { - cur_journal_tail = segment_provider.get_journal_tail_target(); - new_alloc_replay_from = segment_provider.get_alloc_info_replay_from(); - } else { // OOL - cur_journal_tail = NO_DELTAS; - new_alloc_replay_from = NO_DELTAS; - } ceph_assert((close_seg_info.modify_time == NULL_TIME && close_seg_info.num_extents == 0) || (close_seg_info.modify_time != NULL_TIME && @@ -226,21 +217,18 @@ SegmentAllocator::close_segment() auto tail = segment_tail_t{ close_seg_info.seq, close_segment_id, - cur_journal_tail, - new_alloc_replay_from, current_segment_nonce, type, timepoint_to_mod(close_seg_info.modify_time), close_seg_info.num_extents}; ceph::bufferlist bl; encode(tail, bl); - INFO("{} close segment id={}, seq={}, written_to={}, nonce={}, journal_tail={}", + INFO("{} close segment id={}, seq={}, written_to={}, nonce={}", print_name, close_segment_id, close_seg_info.seq, written_to, - current_segment_nonce, - tail.journal_tail); + current_segment_nonce); bufferptr bp(ceph::buffer::create_page_aligned(get_block_size())); bp.zero(); diff --git a/src/crimson/os/seastore/seastore_types.cc b/src/crimson/os/seastore/seastore_types.cc index ea3c63ad764..6ef15f6fba6 100644 --- a/src/crimson/os/seastore/seastore_types.cc +++ b/src/crimson/os/seastore/seastore_types.cc @@ -282,7 +282,6 @@ std::ostream &operator<<(std::ostream &out, const segment_tail_t &tail) return out << "segment_tail_t(" << "segment_seq=" << tail.segment_seq << ", segment_id=" << tail.physical_segment_id - << ", journal_tail=" << tail.journal_tail << ", segment_nonce=" << tail.segment_nonce << ", modify_time=" << mod_time_point_printer_t{tail.modify_time} << ", num_extents=" << tail.num_extents diff --git a/src/crimson/os/seastore/seastore_types.h b/src/crimson/os/seastore/seastore_types.h index 324c839f316..9e5dbc0543e 100644 --- a/src/crimson/os/seastore/seastore_types.h +++ b/src/crimson/os/seastore/seastore_types.h @@ -1513,8 +1513,6 @@ struct segment_tail_t { segment_seq_t segment_seq; segment_id_t physical_segment_id; // debugging - journal_seq_t journal_tail; - journal_seq_t alloc_replay_from; segment_nonce_t segment_nonce; segment_type_t type; @@ -1530,8 +1528,6 @@ struct segment_tail_t { DENC_START(1, 1, p); denc(v.segment_seq, p); denc(v.physical_segment_id, p); - denc(v.journal_tail, p); - denc(v.alloc_replay_from, p); denc(v.segment_nonce, p); denc(v.type, p); denc(v.modify_time, p);