From: Wang Shilong Date: Wed, 10 Apr 2013 11:22:50 +0000 (+0000) Subject: Btrfs: remove some BUG_ONs() when walking backref tree X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=1149ab6bd48cf3b00c59e4f8ff79fbb1cf15b94b;p=GitHub%2FLineageOS%2Fandroid_kernel_samsung_universal7580.git Btrfs: remove some BUG_ONs() when walking backref tree The only error return value of __add_prelim_ref() is -ENOMEM, just return errors rather than trigger BUG_ON(). Signed-off-by: Wang Shilong Reviewed-by: David Sterba Signed-off-by: Josef Bacik --- diff --git a/fs/btrfs/backref.c b/fs/btrfs/backref.c index ba0fee7c323..66f44c7534d 100644 --- a/fs/btrfs/backref.c +++ b/fs/btrfs/backref.c @@ -582,7 +582,8 @@ static int __add_delayed_refs(struct btrfs_delayed_ref_head *head, u64 seq, default: WARN_ON(1); } - BUG_ON(ret); + if (ret) + return ret; } return 0; @@ -680,7 +681,8 @@ static int __add_inline_refs(struct btrfs_fs_info *fs_info, default: WARN_ON(1); } - BUG_ON(ret); + if (ret) + return ret; ptr += btrfs_extent_inline_ref_size(type); } @@ -762,7 +764,9 @@ static int __add_keyed_refs(struct btrfs_fs_info *fs_info, default: WARN_ON(1); } - BUG_ON(ret); + if (ret) + return ret; + } return ret;