On 2019/8/26 下午8:37, Nikolay Borisov wrote:
> 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

Any reference for that?

From what I have read, btrfs is still supported, although only
recommended for testing/development.
From ceph filesystem recommendations:

We used to recommend btrfs for testing, development, and any
non-critical deployments becuase it has the most promising set of
features. However, we now plan to avoid using a kernel file system
entirely with the new BlueStore backend. btrfs is still supported and
has a comparatively compelling set of features, but be mindful of its
stability and support status in your Linux distribution.

(Anyway, still better than the not recommended ext4).

Thanks,
Qu

> 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]>
> ---
>  fs/btrfs/ioctl.c | 13 ++++++++++++-
>  1 file changed, 12 insertions(+), 1 deletion(-)
>
> diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c
> index c343f72a84d5..a412bd2036bb 100644
> --- a/fs/btrfs/ioctl.c
> +++ b/fs/btrfs/ioctl.c
> @@ -1837,8 +1837,12 @@ 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) {
> +             pr_warn("BTRFS: async snapshot creation 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 +4218,10 @@ static noinline long btrfs_ioctl_start_sync(struct 
> btrfs_root *root,
>       u64 transid;
>       int ret;
>
> +
> +     pr_warn("BTRFS: 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 +4249,9 @@ static noinline long btrfs_ioctl_wait_sync(struct 
> btrfs_fs_info *fs_info,
>  {
>       u64 transid;
>
> +     pr_warn("BTRFS: 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;
>

Reply via email to