diff options
| -rw-r--r-- | fs/btrfs/ioctl.c | 25 | ||||
| -rw-r--r-- | include/uapi/linux/btrfs.h | 13 | 
2 files changed, 9 insertions, 29 deletions
| diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c index f8a73a28022a..7e09985d566e 100644 --- a/fs/btrfs/ioctl.c +++ b/fs/btrfs/ioctl.c @@ -1818,8 +1818,6 @@ static noinline int btrfs_ioctl_snap_create_v2(struct file *file,  {  	struct btrfs_ioctl_vol_args_v2 *vol_args;  	int ret; -	u64 transid = 0; -	u64 *ptr = NULL;  	bool readonly = false;  	struct btrfs_qgroup_inherit *inherit = NULL; @@ -1836,15 +1834,6 @@ static noinline int btrfs_ioctl_snap_create_v2(struct file *file,  		goto free_args;  	} -	if (vol_args->flags & BTRFS_SUBVOL_CREATE_ASYNC) { -		struct inode *inode = file_inode(file); -		struct btrfs_fs_info *fs_info = btrfs_sb(inode->i_sb); - -		btrfs_warn(fs_info, -"SNAP_CREATE_V2 ioctl with CREATE_ASYNC is deprecated and will be removed in kernel 5.7"); - -		ptr = &transid; -	}  	if (vol_args->flags & BTRFS_SUBVOL_RDONLY)  		readonly = true;  	if (vol_args->flags & BTRFS_SUBVOL_QGROUP_INHERIT) { @@ -1860,17 +1849,10 @@ static noinline int btrfs_ioctl_snap_create_v2(struct file *file,  	}  	ret = btrfs_ioctl_snap_create_transid(file, vol_args->name, -					      vol_args->fd, subvol, ptr, +					      vol_args->fd, subvol, NULL,  					      readonly, inherit);  	if (ret)  		goto free_inherit; - -	if (ptr && copy_to_user(arg + -				offsetof(struct btrfs_ioctl_vol_args_v2, -					transid), -				ptr, sizeof(*ptr))) -		ret = -EFAULT; -  free_inherit:  	kfree(inherit);  free_args: @@ -1929,11 +1911,6 @@ static noinline int btrfs_ioctl_subvol_setflags(struct file *file,  		goto out_drop_write;  	} -	if (flags & BTRFS_SUBVOL_CREATE_ASYNC) { -		ret = -EINVAL; -		goto out_drop_write; -	} -  	if (flags & ~BTRFS_SUBVOL_RDONLY) {  		ret = -EOPNOTSUPP;  		goto out_drop_write; diff --git a/include/uapi/linux/btrfs.h b/include/uapi/linux/btrfs.h index b5f3ea36d3cb..8134924cfc17 100644 --- a/include/uapi/linux/btrfs.h +++ b/include/uapi/linux/btrfs.h @@ -36,7 +36,12 @@ struct btrfs_ioctl_vol_args {  #define BTRFS_DEVICE_PATH_NAME_MAX	1024  #define BTRFS_SUBVOL_NAME_MAX 		4039 -#define BTRFS_SUBVOL_CREATE_ASYNC	(1ULL << 0) +/* + * Deprecated since 5.7: + * + * BTRFS_SUBVOL_CREATE_ASYNC	(1ULL << 0) + */ +  #define BTRFS_SUBVOL_RDONLY		(1ULL << 1)  #define BTRFS_SUBVOL_QGROUP_INHERIT	(1ULL << 2) @@ -45,8 +50,7 @@ struct btrfs_ioctl_vol_args {  #define BTRFS_SUBVOL_SPEC_BY_ID	(1ULL << 4)  #define BTRFS_VOL_ARG_V2_FLAGS_SUPPORTED		\ -			(BTRFS_SUBVOL_CREATE_ASYNC |	\ -			BTRFS_SUBVOL_RDONLY |		\ +			(BTRFS_SUBVOL_RDONLY |		\  			BTRFS_SUBVOL_QGROUP_INHERIT |	\  			BTRFS_DEVICE_SPEC_BY_ID |	\  			BTRFS_SUBVOL_SPEC_BY_ID) @@ -116,8 +120,7 @@ struct btrfs_ioctl_qgroup_limit_args {  /* Supported flags for BTRFS_IOC_SNAP_CREATE_V2 and BTRFS_IOC_SUBVOL_CREATE_V2 */  #define BTRFS_SUBVOL_CREATE_ARGS_MASK					\ -	(BTRFS_SUBVOL_CREATE_ASYNC |					\ -	 BTRFS_SUBVOL_RDONLY |						\ +	 (BTRFS_SUBVOL_RDONLY |						\  	 BTRFS_SUBVOL_QGROUP_INHERIT)  /* Supported flags for BTRFS_IOC_SNAP_DESTROY_V2 */ | 
