diff options
| author | 2013-04-10 11:22:50 +0000 | |
|---|---|---|
| committer | 2013-05-06 15:54:42 -0400 | |
| commit | 1149ab6bd48cf3b00c59e4f8ff79fbb1cf15b94b (patch) | |
| tree | 883d8d57be3167e665e8188822002c54aa392389 /fs/btrfs/backref.c | |
| parent | Btrfs: use tree_root to avoid edquot when disabling quota (diff) | |
| download | wireguard-linux-1149ab6bd48cf3b00c59e4f8ff79fbb1cf15b94b.tar.xz wireguard-linux-1149ab6bd48cf3b00c59e4f8ff79fbb1cf15b94b.zip | |
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 <wangsl-fnst@cn.fujitsu.com>
Reviewed-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Diffstat (limited to 'fs/btrfs/backref.c')
| -rw-r--r-- | fs/btrfs/backref.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/fs/btrfs/backref.c b/fs/btrfs/backref.c index ba0fee7c3237..66f44c7534d0 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; |
