bcachefs: add btree_node_merging_disabled debug param
authorKent Overstreet <kent.overstreet@linux.dev>
Fri, 5 Apr 2024 20:21:39 +0000 (16:21 -0400)
committerKent Overstreet <kent.overstreet@linux.dev>
Wed, 8 May 2024 21:29:18 +0000 (17:29 -0400)
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
fs/bcachefs/bcachefs.h
fs/bcachefs/btree_update_interior.h

index 91c3c1fef233d118fb083dae3a60a5e779e3cdaf..6366a6a90944d2588802abbf31ca94175ca2c478 100644 (file)
@@ -359,6 +359,8 @@ do {                                                                        \
 #define BCH_DEBUG_PARAMS_ALWAYS()                                      \
        BCH_DEBUG_PARAM(key_merging_disabled,                           \
                "Disables merging of extents")                          \
+       BCH_DEBUG_PARAM(btree_node_merging_disabled,                    \
+               "Disables merging of btree nodes")                      \
        BCH_DEBUG_PARAM(btree_gc_always_rewrite,                        \
                "Causes mark and sweep to compact and rewrite every "   \
                "btree node it traverses")                              \
index c1a479ebaad12120813f95a4af50b32cd542023d..ca1a3be43af8bcf983d03b40c043494bf2f0a349 100644 (file)
@@ -144,6 +144,9 @@ static inline int bch2_foreground_maybe_merge_sibling(struct btree_trans *trans,
 
        EBUG_ON(!btree_node_locked(path, level));
 
+       if (bch2_btree_node_merging_disabled)
+               return 0;
+
        b = path->l[level].b;
        if (b->sib_u64s[sib] > trans->c->btree_foreground_merge_threshold)
                return 0;