]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/os/seastore: drop journal tail info from segment_tail_t
authorYingxin Cheng <yingxin.cheng@intel.com>
Thu, 21 Jul 2022 07:49:54 +0000 (15:49 +0800)
committerYingxin Cheng <yingxin.cheng@intel.com>
Thu, 21 Jul 2022 12:18:59 +0000 (20:18 +0800)
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 <yingxin.cheng@intel.com>
src/crimson/os/seastore/async_cleaner.cc
src/crimson/os/seastore/journal/segment_allocator.cc
src/crimson/os/seastore/seastore_types.cc
src/crimson/os/seastore/seastore_types.h

index d19e0c53beaa4b89989b7f9766346e80d8c24a2a..28b1a16453a6a94bf14590dde4d0a04883cd0c57 100644 (file)
@@ -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;
index 47911c6425e45c595c856391517a4fe61d64c93a..baf1ee89f104874bf0f3ef62caf2fcac5199463f 100644 (file)
@@ -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();
index ea3c63ad764557bb14272657d9ce9649fc25b6ef..6ef15f6fba6a4adf5f4bcf6e6e11e3f64efc42e1 100644 (file)
@@ -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
index 324c839f316caabb0fb72569a25fccb65b1fb8c0..9e5dbc0543e844e7169c7ed26bd08d2e633db80f 100644 (file)
@@ -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);