lkml.org 
[lkml]   [2021]   [Dec]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 074/171] btrfs: replace the BUG_ON in btrfs_del_root_ref with proper error handling
    Date
    From: Qu Wenruo <wqu@suse.com>

    commit 8289ed9f93bef2762f9184e136d994734b16d997 upstream.

    I hit the BUG_ON() with generic/475 test case, and to my surprise, all
    callers of btrfs_del_root_ref() are already aborting transaction, thus
    there is not need for such BUG_ON(), just go to @out label and caller
    will properly handle the error.

    CC: stable@vger.kernel.org # 5.4+
    Reviewed-by: Josef Bacik <josef@toxicpanda.com>
    Signed-off-by: Qu Wenruo <wqu@suse.com>
    Reviewed-by: David Sterba <dsterba@suse.com>
    Signed-off-by: David Sterba <dsterba@suse.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    fs/btrfs/root-tree.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    --- a/fs/btrfs/root-tree.c
    +++ b/fs/btrfs/root-tree.c
    @@ -336,7 +336,8 @@ int btrfs_del_root_ref(struct btrfs_tran
    key.offset = ref_id;
    again:
    ret = btrfs_search_slot(trans, tree_root, &key, path, -1, 1);
    - BUG_ON(ret < 0);
    + if (ret < 0)
    + goto out;
    if (ret == 0) {
    leaf = path->nodes[0];
    ref = btrfs_item_ptr(leaf, path->slots[0],

    \
     
     \ /
      Last update: 2021-12-13 11:25    [W:4.019 / U:1.184 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site