Re: [PATCH] btrfs: Deprecate BTRFS_SUBVOL_CREATE_ASYNC flag

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 2019/8/26 下午9:08, Nikolay Borisov wrote:
>
>
> On 26.08.19 г. 16:03 ч., Qu Wenruo wrote:
>>
>>
>> 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:
>
> The principal author of btrfs (and funnily enough, original implementer
> of the async subvolume) says so himself:
>
> http://lists.ceph.com/pipermail/ceph-users-ceph.com/2017-July/019095.html:

OK, still that transid mismatch ghost...

Anyway, the patch itself should be OK, so:

Reviewed-by: Qu Wenruo <wqu@xxxxxxxx>

Thanks,
Qu
>
> On 06/30/2017 06:48 PM, Sage Weil wrote:
>
>> Ah, crap.  This is what happens when devs don't read their own
>> documetnation.  I recommend against btrfs every time it ever comes
>> up, the downstream distributions all support only xfs, but yes, it
>> looks like the docs never got updated... despite the xfs focus being
>> 5ish years old now.
>
>
>>
>> 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;
>>>
>>




[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux