]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/os/seastore/journal/segment_allocator: log name
authorYingxin Cheng <yingxin.cheng@intel.com>
Wed, 9 Mar 2022 14:17:57 +0000 (22:17 +0800)
committerYingxin Cheng <yingxin.cheng@intel.com>
Fri, 18 Mar 2022 02:15:47 +0000 (10:15 +0800)
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
src/crimson/os/seastore/extent_placement_manager.h
src/crimson/os/seastore/journal/segment_allocator.cc
src/crimson/os/seastore/journal/segment_allocator.h
src/crimson/os/seastore/journal/segmented_journal.cc

index a626ea9ed8bcc8145131a587d43bd21a95bb0b1e..ebac34d6c6f9642828028db7e40bff9d3f5473ce 100644 (file)
@@ -187,7 +187,7 @@ class SegmentedAllocator : public ExtentAllocator {
   class Writer : public ExtentOolWriter {
   public:
     Writer(SegmentProvider& sp, SegmentManager& sm)
-      : segment_allocator(segment_type_t::OOL, sp, sm) {}
+      : segment_allocator("OOL", segment_type_t::OOL, sp, sm) {}
 
     Writer(Writer &&) = default;
 
index 938c2b2f843b96eee9ebfa805eacd8e20a35b491..a8146b4e46213c003280a1cc051f870e24576141 100644 (file)
@@ -21,10 +21,12 @@ static segment_nonce_t generate_nonce(
 }
 
 SegmentAllocator::SegmentAllocator(
+  std::string name,
   segment_type_t type,
   SegmentProvider &sp,
   SegmentManager &sm)
-  : type{type},
+  : name{name},
+    type{type},
     segment_provider{sp},
     segment_manager{sm}
 {
@@ -36,7 +38,7 @@ void SegmentAllocator::set_next_segment_seq(segment_seq_t seq)
 {
   LOG_PREFIX(SegmentAllocator::set_next_segment_seq);
   INFO("{} {} next_segment_seq={}",
-       type, get_device_id(), segment_seq_printer_t{seq});
+       name, get_device_id(), segment_seq_printer_t{seq});
   assert(type == segment_seq_to_type(seq));
   next_segment_seq = seq;
 }
@@ -80,7 +82,7 @@ SegmentAllocator::open()
       new_journal_tail,
       current_segment_nonce};
     INFO("{} {} writing header to new segment ... -- {}",
-         type, get_device_id(), header);
+         name, get_device_id(), header);
 
     auto header_length = segment_manager.get_block_size();
     bufferlist bl;
@@ -120,7 +122,7 @@ SegmentAllocator::open()
         segment_provider.update_journal_tail_committed(new_journal_tail);
       }
       DEBUG("{} {} rolled new segment id={}",
-            type, get_device_id(), current_segment->get_segment_id());
+            name, get_device_id(), current_segment->get_segment_id());
       ceph_assert(new_journal_seq.segment_seq == get_current_segment_seq());
       return new_journal_seq;
     });
@@ -148,7 +150,7 @@ SegmentAllocator::write(ceph::bufferlist to_write)
     paddr_t::make_seg_paddr(
       current_segment->get_segment_id(), write_start_offset)
   };
-  TRACE("{} {} {}~{}", type, get_device_id(), write_start_seq, write_length);
+  TRACE("{} {} {}~{}", name, get_device_id(), write_start_seq, write_length);
   assert(write_length > 0);
   assert((write_length % segment_manager.get_block_size()) == 0);
   assert(!needs_roll(write_length));
@@ -185,7 +187,7 @@ SegmentAllocator::close()
     if (current_segment) {
       return close_segment(false);
     } else {
-      INFO("{} {} no current segment", type, get_device_id());
+      INFO("{} {} no current segment", name, get_device_id());
       return close_segment_ertr::now();
     }
   }().finally([this] {
@@ -200,7 +202,7 @@ SegmentAllocator::close_segment(bool is_rolling)
   assert(can_write());
   auto close_segment_id = current_segment->get_segment_id();
   INFO("{} {} close segment id={}, seq={}, written_to={}, nonce={}",
-       type, get_device_id(),
+       name, get_device_id(),
        close_segment_id,
        segment_seq_printer_t{get_current_segment_seq()},
        written_to,
index 70b8584cc1c613dc5043bf51af151d15b38cab30..98266f3fd092b9bdbad47ed97131a9f8809de949 100644 (file)
@@ -24,10 +24,15 @@ class SegmentAllocator {
       crimson::ct_error::input_output_error>;
 
  public:
-  SegmentAllocator(segment_type_t type,
+  SegmentAllocator(std::string name,
+                   segment_type_t type,
                    SegmentProvider &sp,
                    SegmentManager &sm);
 
+  const std::string& get_name() const {
+    return name;
+  }
+
   device_id_t get_device_id() const {
     return segment_manager.get_device_id();
   }
@@ -123,6 +128,7 @@ class SegmentAllocator {
     return ret;
   }
 
+  const std::string name;
   const segment_type_t type; // JOURNAL or OOL
   SegmentProvider &segment_provider;
   SegmentManager &segment_manager;
index fad6f0ee1dacf2b1fa7dca40b0ef30bee3b5b624..db4596d22296e43018e89aa18485e6ad1a316e0d 100644 (file)
@@ -31,7 +31,8 @@ SegmentedJournal::SegmentedJournal(
   ExtentReader &scanner,
   SegmentProvider &segment_provider)
   : segment_provider(segment_provider),
-    journal_segment_allocator(segment_type_t::JOURNAL,
+    journal_segment_allocator("JOURNAL",
+                              segment_type_t::JOURNAL,
                               segment_provider,
                               segment_manager),
     record_submitter(crimson::common::get_conf<uint64_t>(