We call btrfs_update_root in btrfs_update_reloc_root, which can fail for
all sorts of reasons, including IO errors.  Instead of panicing the box
lets return the error, now that all callers properly handle those
errors.

Reviewed-by: Qu Wenruo <w...@suse.com>
Signed-off-by: Josef Bacik <jo...@toxicpanda.com>
---
 fs/btrfs/relocation.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c
index b9cc99d4b950..7b242f527bd8 100644
--- a/fs/btrfs/relocation.c
+++ b/fs/btrfs/relocation.c
@@ -902,7 +902,7 @@ int btrfs_update_reloc_root(struct btrfs_trans_handle 
*trans,
        int ret;
 
        if (!have_reloc_root(root))
-               goto out;
+               return 0;
 
        reloc_root = root->reloc_root;
        root_item = &reloc_root->root_item;
@@ -935,10 +935,8 @@ int btrfs_update_reloc_root(struct btrfs_trans_handle 
*trans,
 
        ret = btrfs_update_root(trans, fs_info->tree_root,
                                &reloc_root->root_key, root_item);
-       BUG_ON(ret);
        btrfs_put_root(reloc_root);
-out:
-       return 0;
+       return ret;
 }
 
 /*
-- 
2.26.2

Reply via email to