]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
crimson/onode-staged-tree: remove hard-coded node_stage_t::EXTENT_SIZE
authorYingxin Cheng <yingxin.cheng@intel.com>
Wed, 2 Jun 2021 08:25:05 +0000 (16:25 +0800)
committerYingxin Cheng <yingxin.cheng@intel.com>
Fri, 11 Jun 2021 14:43:58 +0000 (22:43 +0800)
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
src/crimson/os/seastore/onode_manager/staged-fltree/node_extent_accessor.h
src/crimson/os/seastore/onode_manager/staged-fltree/node_layout.h
src/crimson/os/seastore/onode_manager/staged-fltree/stages/node_stage.h

index ab1b1880f3555ac6f0aebab31dcae763f29338e7..1bb1aeaa150aaed2856df92ec40be1d170c21b86 100644 (file)
@@ -319,6 +319,7 @@ class NodeExtentAccessorT {
 
   const node_stage_t& read() const { return node_stage; }
   laddr_t get_laddr() const { return extent->get_laddr(); }
+  extent_len_t get_length() const { return extent->get_length(); }
   nextent_state_t get_state() const {
     assert(!is_retired());
     // we cannot rely on the underlying extent state because
index ca54eb347642c70c2333313123e907bc8017c9f5..4d74b8beab3b8c12c2e64c2be17bf4d62c7c4438 100644 (file)
@@ -304,7 +304,7 @@ class NodeLayoutT final : public InternalNodeImpl, public LeafNodeImpl {
     if (!is_keys_empty()) {
       STAGE_T::get_stats(node_stage, stats, index_key);
     }
-    stats.size_persistent = node_stage_t::EXTENT_SIZE;
+    stats.size_persistent = extent.get_length();
     stats.size_filled = filled_size();
     if constexpr (NODE_TYPE == node_type_t::INTERNAL) {
       if (is_level_tail()) {
@@ -877,7 +877,7 @@ class NodeLayoutT final : public InternalNodeImpl, public LeafNodeImpl {
     std::ostringstream sos;
     sos << "Node" << NODE_TYPE << FIELD_TYPE
         << "@0x" << std::hex << extent.get_laddr()
-        << "+" << node_stage_t::EXTENT_SIZE << std::dec
+        << "+" << extent.get_length() << std::dec
         << "Lv" << (unsigned)level()
         << (is_level_tail() ? "$" : "");
     name = sos.str();
index d0786ee48fef2ee64398a16715f1cf8e1c6ae6eb..2c55e58477052b9692192c30ee7b7441bcaaa803 100644 (file)
@@ -30,8 +30,6 @@ class node_extent_t {
   using num_keys_t = typename FieldType::num_keys_t;
   static constexpr node_type_t NODE_TYPE = _NODE_TYPE;
   static constexpr field_type_t FIELD_TYPE = FieldType::FIELD_TYPE;
-  static constexpr node_offset_t EXTENT_SIZE =
-    (FieldType::SIZE + DISK_BLOCK_SIZE - 1u) / DISK_BLOCK_SIZE * DISK_BLOCK_SIZE;
 
   // TODO: remove
   node_extent_t() = default;