Skip to content

Commit

Permalink
btrfs: Remove async_transid from btrfs_mksubvol/create_subvol/create_…
Browse files Browse the repository at this point in the history
…snapshot

With BTRFS_SUBVOL_CREATE_ASYNC support remove it's no longer required to
pass the async_transid parameter so remove it and any code using it.

Signed-off-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
  • Loading branch information
Nikolay Borisov authored and David Sterba committed Mar 23, 2020
1 parent 5d54c67 commit 9babda9
Showing 1 changed file with 10 additions and 27 deletions.
37 changes: 10 additions & 27 deletions fs/btrfs/ioctl.c
Original file line number Diff line number Diff line change
Expand Up @@ -551,7 +551,6 @@ int __pure btrfs_is_empty_uuid(u8 *uuid)
static noinline int create_subvol(struct inode *dir,
struct dentry *dentry,
const char *name, int namelen,
u64 *async_transid,
struct btrfs_qgroup_inherit *inherit)
{
struct btrfs_fs_info *fs_info = btrfs_sb(dir->i_sb);
Expand Down Expand Up @@ -723,14 +722,7 @@ static noinline int create_subvol(struct inode *dir,
trans->bytes_reserved = 0;
btrfs_subvolume_release_metadata(fs_info, &block_rsv);

if (async_transid) {
*async_transid = trans->transid;
err = btrfs_commit_transaction_async(trans, 1);
if (err)
err = btrfs_commit_transaction(trans);
} else {
err = btrfs_commit_transaction(trans);
}
err = btrfs_commit_transaction(trans);
if (err && !ret)
ret = err;

Expand All @@ -748,8 +740,7 @@ static noinline int create_subvol(struct inode *dir,
}

static int create_snapshot(struct btrfs_root *root, struct inode *dir,
struct dentry *dentry,
u64 *async_transid, bool readonly,
struct dentry *dentry, bool readonly,
struct btrfs_qgroup_inherit *inherit)
{
struct btrfs_fs_info *fs_info = btrfs_sb(dir->i_sb);
Expand Down Expand Up @@ -833,14 +824,8 @@ static int create_snapshot(struct btrfs_root *root, struct inode *dir,
list_add(&pending_snapshot->list,
&trans->transaction->pending_snapshots);
spin_unlock(&fs_info->trans_lock);
if (async_transid) {
*async_transid = trans->transid;
ret = btrfs_commit_transaction_async(trans, 1);
if (ret)
ret = btrfs_commit_transaction(trans);
} else {
ret = btrfs_commit_transaction(trans);
}

ret = btrfs_commit_transaction(trans);
if (ret)
goto fail;

Expand Down Expand Up @@ -946,7 +931,7 @@ static inline int btrfs_may_create(struct inode *dir, struct dentry *child)
static noinline int btrfs_mksubvol(const struct path *parent,
const char *name, int namelen,
struct btrfs_root *snap_src,
u64 *async_transid, bool readonly,
bool readonly,
struct btrfs_qgroup_inherit *inherit)
{
struct inode *dir = d_inode(parent->dentry);
Expand Down Expand Up @@ -982,13 +967,11 @@ static noinline int btrfs_mksubvol(const struct path *parent,
if (btrfs_root_refs(&BTRFS_I(dir)->root->root_item) == 0)
goto out_up_read;

if (snap_src) {
error = create_snapshot(snap_src, dir, dentry,
async_transid, readonly, inherit);
} else {
error = create_subvol(dir, dentry, name, namelen,
async_transid, inherit);
}
if (snap_src)
error = create_snapshot(snap_src, dir, dentry, readonly, inherit);
else
error = create_subvol(dir, dentry, name, namelen, inherit);

if (!error)
fsnotify_mkdir(dir, dentry);
out_up_read:
Expand Down

0 comments on commit 9babda9

Please sign in to comment.