Commit 221581e4 authored by Josef Bacik's avatar Josef Bacik Committed by David Sterba
Browse files

btrfs: handle btrfs_record_root_in_trans failure in create_subvol



btrfs_record_root_in_trans will return errors in the future, so handle
the error properly in create_subvol.

Signed-off-by: default avatarJosef Bacik <josef@toxicpanda.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 2002ae11
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -721,7 +721,12 @@ static noinline int create_subvol(struct inode *dir,
	/* Freeing will be done in btrfs_put_root() of new_root */
	anon_dev = 0;

	btrfs_record_root_in_trans(trans, new_root);
	ret = btrfs_record_root_in_trans(trans, new_root);
	if (ret) {
		btrfs_put_root(new_root);
		btrfs_abort_transaction(trans, ret);
		goto fail;
	}

	ret = btrfs_create_subvol_root(trans, new_root, root);
	btrfs_put_root(new_root);