]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
btrfs: convert correctness BUG_ON()'s to ASSERT()'s in walk_up_proc()
authorJosef Bacik <josef@toxicpanda.com>
Tue, 7 May 2024 18:12:14 +0000 (14:12 -0400)
committerDavid Sterba <dsterba@suse.com>
Thu, 11 Jul 2024 13:33:25 +0000 (15:33 +0200)
In walk_up_proc() we have several sanity checks that should only trip if
the programmer made a mistake.  Convert these to ASSERT()'s instead of
BUG_ON()'s.

Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent-tree.c

index bcfb438a939fbee12b247a0cd1187b7ec782ed7a..d1c9158bf3e06d5de9fc45b96091346c5b78bb2d 100644 (file)
@@ -5747,7 +5747,7 @@ static noinline int walk_up_proc(struct btrfs_trans_handle *trans,
        u64 parent = 0;
 
        if (wc->stage == UPDATE_BACKREF) {
-               BUG_ON(wc->shared_level < level);
+               ASSERT(wc->shared_level >= level);
                if (level < wc->shared_level)
                        goto out;
 
@@ -5765,7 +5765,7 @@ static noinline int walk_up_proc(struct btrfs_trans_handle *trans,
                 * count is one.
                 */
                if (!path->locks[level]) {
-                       BUG_ON(level == 0);
+                       ASSERT(level > 0);
                        btrfs_tree_lock(eb);
                        path->locks[level] = BTRFS_WRITE_LOCK;
 
@@ -5794,7 +5794,7 @@ static noinline int walk_up_proc(struct btrfs_trans_handle *trans,
        }
 
        /* wc->stage == DROP_REFERENCE */
-       BUG_ON(wc->refs[level] > 1 && !path->locks[level]);
+       ASSERT(path->locks[level] || wc->refs[level] == 1);
 
        if (wc->refs[level] == 1) {
                if (level == 0) {