Commit 5c4cf6c9 authored by David Sterba's avatar David Sterba

btrfs: simplify exit paths in btrfs_init_new_device

Reviewed-by: default avatarAnand Jain <anand.jain@oracle.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 55de4803
...@@ -2345,17 +2345,15 @@ int btrfs_init_new_device(struct btrfs_fs_info *fs_info, const char *device_path ...@@ -2345,17 +2345,15 @@ int btrfs_init_new_device(struct btrfs_fs_info *fs_info, const char *device_path
name = rcu_string_strdup(device_path, GFP_KERNEL); name = rcu_string_strdup(device_path, GFP_KERNEL);
if (!name) { if (!name) {
free_device(device);
ret = -ENOMEM; ret = -ENOMEM;
goto error; goto error_free_device;
} }
rcu_assign_pointer(device->name, name); rcu_assign_pointer(device->name, name);
trans = btrfs_start_transaction(root, 0); trans = btrfs_start_transaction(root, 0);
if (IS_ERR(trans)) { if (IS_ERR(trans)) {
free_device(device);
ret = PTR_ERR(trans); ret = PTR_ERR(trans);
goto error; goto error_free_device;
} }
q = bdev_get_queue(bdev); q = bdev_get_queue(bdev);
...@@ -2495,6 +2493,7 @@ int btrfs_init_new_device(struct btrfs_fs_info *fs_info, const char *device_path ...@@ -2495,6 +2493,7 @@ int btrfs_init_new_device(struct btrfs_fs_info *fs_info, const char *device_path
sb->s_flags |= SB_RDONLY; sb->s_flags |= SB_RDONLY;
if (trans) if (trans)
btrfs_end_transaction(trans); btrfs_end_transaction(trans);
error_free_device:
free_device(device); free_device(device);
error: error:
blkdev_put(bdev, FMODE_EXCL); blkdev_put(bdev, FMODE_EXCL);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment