]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
crimson/os/seastore/btree: count fixed kv btrees' extents num
authorXuehan Xu <xxhdx1985126@gmail.com>
Fri, 10 Jun 2022 07:54:30 +0000 (15:54 +0800)
committerXuehan Xu <xxhdx1985126@gmail.com>
Sun, 19 Jun 2022 12:21:03 +0000 (20:21 +0800)
Signed-off-by: Xuehan Xu <xxhdx1985126@gmail.com>
src/crimson/os/seastore/btree/fixed_kv_btree.h

index 29b8e8e9dc3758f3ae0ca8b15365c9b4efb3d2a7..9658b9e4c889853dedd08a8f0ae0ff037827f948 100644 (file)
@@ -1402,6 +1402,7 @@ private:
       root.set_location(nroot->get_paddr());
       root.set_depth(iter.get_depth());
       get_tree_stats<self_type>(c.trans).depth = iter.get_depth();
+      get_tree_stats<self_type>(c.trans).extents_num_delta++;
       root_dirty = true;
     }
 
@@ -1431,6 +1432,7 @@ private:
         *right);
       c.cache.retire_extent(c.trans, pos.node);
 
+      get_tree_stats<self_type>(c.trans).extents_num_delta++;
       return std::make_pair(left, right);
     };
 
@@ -1546,6 +1548,7 @@ private:
                   iter.internal.pop_back();
                   root.set_depth(iter.get_depth());
                   get_tree_stats<self_type>(c.trans).depth = iter.get_depth();
+                  get_tree_stats<self_type>(c.trans).extents_num_delta--;
                   root_dirty = true;
                 } else {
                   SUBTRACET(seastore_fixedkv_tree, "no need to collapse root", c.trans);
@@ -1656,6 +1659,7 @@ private:
         SUBTRACET(seastore_fixedkv_tree, "l: {}, r: {}, replacement: {}", c.trans, *l, *r, *replacement);
         c.cache.retire_extent(c.trans, l);
         c.cache.retire_extent(c.trans, r);
+        get_tree_stats<self_type>(c.trans).extents_num_delta--;
       } else {
         LOG_PREFIX(FixedKVBtree::merge_level);
         auto [replacement_l, replacement_r, pivot] =