]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/os/seastore: drop unnecessary dependency between LBAManager and SegmentManager
authorYingxin Cheng <yingxin.cheng@intel.com>
Tue, 22 Mar 2022 09:43:21 +0000 (17:43 +0800)
committerYingxin Cheng <yingxin.cheng@intel.com>
Wed, 6 Apr 2022 02:31:58 +0000 (10:31 +0800)
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
src/crimson/os/seastore/lba_manager.cc
src/crimson/os/seastore/lba_manager.h
src/crimson/os/seastore/lba_manager/btree/btree_lba_manager.cc
src/crimson/os/seastore/lba_manager/btree/btree_lba_manager.h
src/crimson/os/seastore/transaction_manager.cc
src/crimson/os/seastore/transaction_manager.h
src/test/crimson/seastore/test_btree_lba_manager.cc

index c6026ad246224693746e7b3a02d47aefe81e3ac8..f638bad3292c05f8d8d74ea451452cb27b5854d7 100644 (file)
@@ -1,8 +1,6 @@
 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
 // vim: ts=8 sw=2 smarttab
 
-#include "crimson/os/seastore/segment_manager.h"
-#include "crimson/os/seastore/cache.h"
 #include "crimson/os/seastore/lba_manager.h"
 #include "crimson/os/seastore/lba_manager/btree/btree_lba_manager.h"
 
@@ -42,10 +40,8 @@ LBAManager::update_mappings(
   });
 }
 
-LBAManagerRef lba_manager::create_lba_manager(
-  SegmentManager &segment_manager,
-  Cache &cache) {
-  return LBAManagerRef(new btree::BtreeLBAManager(segment_manager, cache));
+LBAManagerRef lba_manager::create_lba_manager(Cache &cache) {
+  return LBAManagerRef(new btree::BtreeLBAManager(cache));
 }
 
 }
index 172052bac55bacecd2a405dbaf5a370d81a4c6b3..b898ed2cc64c5cfd468903c278b8b71cc7d1c2e5 100644 (file)
@@ -19,7 +19,6 @@
 
 #include "crimson/os/seastore/cache.h"
 #include "crimson/os/seastore/seastore_types.h"
-#include "crimson/os/seastore/segment_manager.h"
 
 namespace crimson::os::seastore {
 
@@ -143,8 +142,7 @@ public:
   /**
    * Calls f for each mapped space usage
    */
-  using scan_mapped_space_iertr = base_iertr::extend_ertr<
-    SegmentManager::read_ertr>;
+  using scan_mapped_space_iertr = base_iertr;
   using scan_mapped_space_ret = scan_mapped_space_iertr::future<>;
   using scan_mapped_space_func_t = std::function<
     void(paddr_t, extent_len_t)>;
@@ -215,9 +213,7 @@ using LBAManagerRef = std::unique_ptr<LBAManager>;
 
 class Cache;
 namespace lba_manager {
-LBAManagerRef create_lba_manager(
-  SegmentManager &segment_manager,
-  Cache &cache);
+LBAManagerRef create_lba_manager(Cache &cache);
 }
 
 }
index db812ca3368b3f15a97b1e91b18291343b50c3f0..287ee7b45a2272a92a3e50dff97fbb935eaa476e 100644 (file)
@@ -149,7 +149,6 @@ BtreeLBAManager::alloc_extent(
   extent_len_t len,
   paddr_t addr)
 {
-  ceph_assert(is_aligned(hint, (uint64_t)segment_manager.get_block_size()));
   struct state_t {
     laddr_t last_end;
 
@@ -501,11 +500,8 @@ BtreeLBAManager::get_physical_extent_if_live(
     });
 }
 
-BtreeLBAManager::BtreeLBAManager(
-  SegmentManager &segment_manager,
-  Cache &cache)
-  : segment_manager(segment_manager),
-    cache(cache)
+BtreeLBAManager::BtreeLBAManager(Cache &cache)
+  : cache(cache)
 {
   register_metrics();
 }
index 16c300f3a138220bc3cefd4ec49dae0bd35d9ce9..26caa88ba25720f3a2cca543ba2d097f4f986d5a 100644 (file)
@@ -19,7 +19,6 @@
 #include "crimson/os/seastore/seastore_types.h"
 #include "crimson/os/seastore/lba_manager.h"
 #include "crimson/os/seastore/cache.h"
-#include "crimson/os/seastore/segment_manager.h"
 
 #include "crimson/os/seastore/lba_manager/btree/lba_btree_node.h"
 #include "crimson/os/seastore/btree/btree_range_pin.h"
@@ -51,9 +50,7 @@ using BtreeLBAPin = BtreeNodePin<laddr_t>;
  */
 class BtreeLBAManager : public LBAManager {
 public:
-  BtreeLBAManager(
-    SegmentManager &segment_manager,
-    Cache &cache);
+  BtreeLBAManager(Cache &cache);
 
   mkfs_ret mkfs(
     Transaction &t) final;
@@ -138,7 +135,6 @@ public:
 
   ~BtreeLBAManager();
 private:
-  SegmentManager &segment_manager;
   Cache &cache;
 
   btree_pin_set_t<laddr_t> pin_set;
index 31d54a77af60a72050a80d4c9edfe7802414fa86..e59f9332315ea6013ac8927719626cfcb8196565 100644 (file)
@@ -554,7 +554,7 @@ TransactionManagerRef make_transaction_manager(
   auto journal = journal::make_segmented(sm, scanner_ref, *segment_cleaner);
   auto epm = std::make_unique<ExtentPlacementManager>();
   auto cache = std::make_unique<Cache>(*epm);
-  auto lba_manager = lba_manager::create_lba_manager(sm, *cache);
+  auto lba_manager = lba_manager::create_lba_manager(*cache);
 
   return std::make_unique<TransactionManager>(
     std::move(segment_cleaner),
index 46f78ded4909da930cd08f671b813e4afb8a9888..5e0b6916beb9090097ca0d7b4c4bdf7207c119d6 100644 (file)
@@ -302,6 +302,7 @@ public:
     LOG_PREFIX(TransactionManager::alloc_extent);
     SUBTRACET(seastore_tm, "{} len={}, placement_hint={}, laddr_hint={}",
               t, T::TYPE, len, placement_hint, laddr_hint);
+    ceph_assert(is_aligned(laddr_hint, (uint64_t)epm->get_block_size()));
     auto ext = cache->alloc_new_extent<T>(
       t,
       len,
@@ -327,6 +328,7 @@ public:
     extent_len_t len) {
     LOG_PREFIX(TransactionManager::reserve_region);
     SUBDEBUGT(seastore_tm, "len={}, laddr_hint={}", t, len, hint);
+    ceph_assert(is_aligned(hint, (uint64_t)epm->get_block_size()));
     return lba_manager->alloc_extent(
       t,
       hint,
index f0cf4e03dd854d8dd0f9dbce6d780a8be524c1ec..63261111b6096c7c11ab2d362547ac76168246dc 100644 (file)
@@ -320,7 +320,7 @@ struct btree_lba_manager_test : btree_test_base {
   }
 
   LBAManager::mkfs_ret test_structure_setup(Transaction &t) final {
-    lba_manager.reset(new BtreeLBAManager(*segment_manager, *cache));
+    lba_manager.reset(new BtreeLBAManager(*cache));
     return lba_manager->mkfs(t);
   }