]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
btrfs: Remove async_transid from btrfs_mksubvol/create_subvol/create_snapshot
authorNikolay Borisov <nborisov@suse.com>
Fri, 13 Mar 2020 15:23:20 +0000 (17:23 +0200)
committerDavid Sterba <dsterba@suse.com>
Mon, 23 Mar 2020 16:02:00 +0000 (17:02 +0100)
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>
fs/btrfs/ioctl.c

index e843785f966b211296f1c5a70acdda7ed554f321..40b729dce91cd74f58ed8fa9ac1fd73e89dc2953 100644 (file)
@@ -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);
@@ -723,14 +722,7 @@ fail:
        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;
 
@@ -748,8 +740,7 @@ fail_free:
 }
 
 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);
@@ -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;
 
@@ -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);
@@ -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: