]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/os/seastore: cleanup SegmentCleaner::mount()
authorYingxin Cheng <yingxin.cheng@intel.com>
Thu, 24 Mar 2022 03:12:47 +0000 (11:12 +0800)
committerYingxin Cheng <yingxin.cheng@intel.com>
Wed, 6 Apr 2022 02:29:46 +0000 (10:29 +0800)
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
src/crimson/os/seastore/extent_reader.h
src/crimson/os/seastore/segment_cleaner.cc
src/crimson/os/seastore/segment_cleaner.h
src/crimson/os/seastore/transaction_manager.cc

index 4d77dbe6ef8137cff41342587f75ac943a7a6f58..68202f6a29ab27c19b1d15906aa64d58459798e2 100644 (file)
@@ -21,6 +21,10 @@ public:
     return segment_managers[0]->get_block_size();
   }
 
+  std::vector<SegmentManager*>& get_segment_managers() {
+    return segment_managers;
+  }
+
   using read_ertr = SegmentManager::read_ertr;
   ExtentReader() {
     segment_managers.resize(DEVICE_ID_MAX, nullptr);
@@ -92,10 +96,6 @@ public:
 
 private:
   std::vector<SegmentManager*> segment_managers;
-
-  std::vector<SegmentManager*>& get_segment_managers() {
-    return segment_managers;
-  }
   /// read record metadata for record starting at start
   using read_validate_record_metadata_ertr = read_ertr;
   using read_validate_record_metadata_ret =
@@ -120,8 +120,6 @@ private:
       scan_valid_records_cursor& cursor,
       found_record_handler_t& handler,
       std::size_t& budget_used);
-
-  friend class TransactionManager;
 };
 
 using ExtentReaderRef = std::unique_ptr<ExtentReader>;
index 006a196c1977c015c143765bab9d590d24caa136..ac48a00a769f28d8e7cbe075202a271612457088 100644 (file)
@@ -503,9 +503,9 @@ SegmentCleaner::gc_reclaim_space_ret SegmentCleaner::gc_reclaim_space()
 }
 
 SegmentCleaner::mount_ret SegmentCleaner::mount(
-  device_id_t pdevice_id,
-  std::vector<SegmentManager*>& sms)
+  device_id_t pdevice_id)
 {
+  auto& sms = scanner->get_segment_managers();
   logger().debug(
     "SegmentCleaner::mount: {} segment managers", sms.size());
   init_complete = false;
index 2cdc636c2a723f60fac1a81fcf2f4915b491d358..afb400c84cd0a3ec4a13dccae657745cdb527446 100644 (file)
@@ -736,7 +736,7 @@ public:
   using mount_ertr = crimson::errorator<
     crimson::ct_error::input_output_error>;
   using mount_ret = mount_ertr::future<>;
-  mount_ret mount(device_id_t pdevice_id, std::vector<SegmentManager*>& sms);
+  mount_ret mount(device_id_t pdevice_id);
 
   segment_id_t get_segment(
       device_id_t id, segment_seq_t seq, segment_type_t type) final;
index 237e90966d24aaa0660d2640e7a5690d3d312584..a40f6632b6b244df5ffdb11d93c3f5472108f46b 100644 (file)
@@ -47,8 +47,7 @@ TransactionManager::mkfs_ertr::future<> TransactionManager::mkfs()
   LOG_PREFIX(TransactionManager::mkfs);
   INFO("enter");
   return segment_cleaner->mount(
-    segment_manager.get_device_id(),
-    scanner.get_segment_managers()
+    segment_manager.get_device_id()
   ).safe_then([this] {
     return journal->open_for_write();
   }).safe_then([this](auto addr) {
@@ -88,8 +87,7 @@ TransactionManager::mount_ertr::future<> TransactionManager::mount()
   INFO("enter");
   cache->init();
   return segment_cleaner->mount(
-    segment_manager.get_device_id(),
-    scanner.get_segment_managers()
+    segment_manager.get_device_id()
   ).safe_then([this] {
     return journal->replay(
       [this](const auto &offsets, const auto &e, auto last_modified) {