]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
btrfs: remove redundant level reset in btrfs_del_items()
authorSun YangKai <sunk67188@gmail.com>
Fri, 14 Nov 2025 07:24:48 +0000 (15:24 +0800)
committerDavid Sterba <dsterba@suse.com>
Tue, 25 Nov 2025 00:50:56 +0000 (01:50 +0100)
When btrfs_del_items() empties a leaf, it deletes the leaf unless it's
the root node. For the root leaf case, the code used to reset its level
to 0 via btrfs_set_header_level(). This is redundant as leaf nodes
always have level == 0.

Remove the unnecessary level assignment and invert the conditional to
handle only the non-root leaf deletion. The root leaf is correctly left
as-is.

Signed-off-by: Sun YangKai <sunk67188@gmail.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/ctree.c

index fc712e00d4fb57a4ea3497697ee6cb3f058c2805..a48b4befbee7672321a6bec7322deeebafed9e7e 100644 (file)
@@ -4520,9 +4520,7 @@ int btrfs_del_items(struct btrfs_trans_handle *trans, struct btrfs_root *root,
 
        /* delete the leaf if we've emptied it */
        if (nritems == 0) {
-               if (leaf == root->node) {
-                       btrfs_set_header_level(leaf, 0);
-               } else {
+               if (leaf != root->node) {
                        btrfs_clear_buffer_dirty(trans, leaf);
                        ret = btrfs_del_leaf(trans, root, path, leaf);
                        if (ret < 0)