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 <nborisov@xxxxxxxx>
> ---
> 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;
>