diff options
author | Josef Bacik <josef@toxicpanda.com> | 2021-03-12 21:25:16 +0100 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2021-04-19 17:25:20 +0200 |
commit | 2dd8298eb3e90103f3cb36a975aee84bae66f218 (patch) | |
tree | fb8dc5b30be068d83788ee9cb1e1195a3a0e852c /fs/btrfs/transaction.c | |
parent | btrfs: validate root::reloc_root after recording root in trans (diff) | |
download | linux-2dd8298eb3e90103f3cb36a975aee84bae66f218.tar.xz linux-2dd8298eb3e90103f3cb36a975aee84bae66f218.zip |
btrfs: handle btrfs_update_reloc_root failure in commit_fs_roots
btrfs_update_reloc_root will will return errors in the future, so handle
the error properly in commit_fs_roots.
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to '')
-rw-r--r-- | fs/btrfs/transaction.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/btrfs/transaction.c b/fs/btrfs/transaction.c index 4e9e751c99fa..62f5195d0076 100644 --- a/fs/btrfs/transaction.c +++ b/fs/btrfs/transaction.c @@ -1363,7 +1363,9 @@ static noinline int commit_fs_roots(struct btrfs_trans_handle *trans) spin_unlock(&fs_info->fs_roots_radix_lock); btrfs_free_log(trans, root); - btrfs_update_reloc_root(trans, root); + ret2 = btrfs_update_reloc_root(trans, root); + if (ret2) + return ret2; /* see comments in should_cow_block() */ clear_bit(BTRFS_ROOT_FORCE_COW, &root->state); |