diff options
author | David Sterba <dsterba@suse.com> | 2017-08-28 16:48:16 +0200 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2017-09-08 16:15:05 +0200 |
commit | 448999d84ddc2eaf36938176fb5091d2c2029e2f (patch) | |
tree | 4e90505605420f6d3467639d2899e93c893596dd /convert/main.c | |
parent | 4ef5a112c9d2fe9d6f03ac2ea3aa5b1af0f37254 (diff) |
btrfs-progs: add crude error handling when transaction start fails
Currently transaction bugs out insided btrfs_start_transaction in case
of error, we want to lift the error handling to the callers. This patch
adds the BUG_ON anywhere it's been missing so far. This is not the best
way of course. Transforming BUG_ON to a proper error handling highly
depends on the caller and should be dealt with case by case.
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'convert/main.c')
-rw-r--r-- | convert/main.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/convert/main.c b/convert/main.c index 22884bd5..7ec6202d 100644 --- a/convert/main.c +++ b/convert/main.c @@ -751,8 +751,8 @@ static int create_image(struct btrfs_root *root, flags |= BTRFS_INODE_NODATASUM; trans = btrfs_start_transaction(root, 1); - if (!trans) - return -ENOMEM; + if (IS_ERR(trans)) + return PTR_ERR(trans); cache_tree_init(&used_tmp); btrfs_init_path(&path); @@ -881,7 +881,7 @@ static struct btrfs_root* link_subvol(struct btrfs_root *root, btrfs_release_path(&path); trans = btrfs_start_transaction(root, 1); - if (!trans) { + if (IS_ERR(trans)) { error("unable to start transaction"); goto fail; } @@ -1077,9 +1077,9 @@ static int init_btrfs(struct btrfs_mkfs_config *cfg, struct btrfs_root *root, fs_info->avoid_sys_chunk_alloc = 1; fs_info->avoid_meta_chunk_alloc = 1; trans = btrfs_start_transaction(root, 1); - if (!trans) { + if (IS_ERR(trans)) { error("unable to start transaction"); - ret = -EINVAL; + ret = PTR_ERR(trans); goto err; } ret = btrfs_fix_block_accounting(trans, root); |