Support for asynchronous snapshot creation was originally added in
72fd032e9424 ("Btrfs: add SNAP_CREATE_ASYNC ioctl") to cater for
ceph's backend needs. However, since Ceph has deprecated support for
btrfs there is no longer need for that support in btrfs. Additionally,
this was never supported by btrfs-progs, the official userspace tools.

Signed-off-by: Nikolay Borisov <[email protected]>
---

V2: 
 * Switch to using btrfs_warn to make it more explicit and easily recognisable 
 it's a btrfs-sourced warning

 * Reword the SNAP_CREATE_V2 deprecation warning to make it easier to spot 
 which ioctl is deprecated. 

 fs/btrfs/ioctl.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
index c343f72a84d5..185b757f6cb6 100644
--- a/fs/btrfs/ioctl.c
+++ b/fs/btrfs/ioctl.c
@@ -1837,8 +1837,14 @@ static noinline int btrfs_ioctl_snap_create_v2(struct 
file *file,
                goto free_args;
        }
 
-       if (vol_args->flags & BTRFS_SUBVOL_CREATE_ASYNC)
+       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\n");
+
                ptr = &transid;
+       }
        if (vol_args->flags & BTRFS_SUBVOL_RDONLY)
                readonly = true;
        if (vol_args->flags & BTRFS_SUBVOL_QGROUP_INHERIT) {
@@ -4214,6 +4220,10 @@ static noinline long btrfs_ioctl_start_sync(struct 
btrfs_root *root,
        u64 transid;
        int ret;
 
+
+       btrfs_warn(root->fs_info, "START_SYNC ioctl is deprecated and will be 
removed in "
+                  "kernel 5.7\n");
+
        trans = btrfs_attach_transaction_barrier(root);
        if (IS_ERR(trans)) {
                if (PTR_ERR(trans) != -ENOENT)
@@ -4241,6 +4251,9 @@ static noinline long btrfs_ioctl_wait_sync(struct 
btrfs_fs_info *fs_info,
 {
        u64 transid;
 
+       btrfs_warn(fs_info, "WAIT_SYNC ioctl is deprecated and will be removed 
in "
+                  "kernel 5.7\n");
+
        if (argp) {
                if (copy_from_user(&transid, argp, sizeof(transid)))
                        return -EFAULT;
-- 
2.17.1

Reply via email to