Re: [PATCH v2] cifs: fix that return -EINVAL when do dedupe operation

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

 



updated and tentatively placed in for-next - running the automated tests now

On Fri, Mar 15, 2019 at 11:12 PM XiaoLi Feng <xifeng@xxxxxxxxxx> wrote:
>
> From: Xiaoli Feng <fengxiaoli0714@xxxxxxxxx>
>
> dedupe_file_range operations is combiled into remap_file_range.
> But it's always skipped for dedupe operations in function
> cifs_remap_file_range.
>
> Example to test:
> Before this patch:
>   # dd if=/dev/zero of=cifs/file bs=1M count=1
>   # xfs_io -c "dedupe cifs/file 4k 64k 4k" cifs/file
>   XFS_IOC_FILE_EXTENT_SAME: Invalid argument
>
> After this patch:
>   # dd if=/dev/zero of=cifs/file bs=1M count=1
>   # xfs_io -c "dedupe cifs/file 4k 64k 4k" cifs/file
>   XFS_IOC_FILE_EXTENT_SAME: Operation not supported
>
> Influence for xfstests:
> generic/091
> generic/112
> generic/127
> generic/263
> These tests report this error "do_copy_range:: Invalid
> argument" instead of "FIDEDUPERANGE: Invalid argument".
> Because there are still two bugs cause these test failed.
> https://bugzilla.kernel.org/show_bug.cgi?id=202935
> https://bugzilla.kernel.org/show_bug.cgi?id=202785
>
> Signed-off-by: Xiaoli Feng <fengxiaoli0714@xxxxxxxxx>
> ---
>
> Sorry, there are some missing in commit log of last patch. Because they
> are beginning with the world '#". The git will ignores these lines.
> And add influence for xfstests.
>
>  fs/cifs/cifsfs.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c
> index 217276b8b942..f9b71c12cc9f 100644
> --- a/fs/cifs/cifsfs.c
> +++ b/fs/cifs/cifsfs.c
> @@ -1008,7 +1008,7 @@ static loff_t cifs_remap_file_range(struct file *src_file, loff_t off,
>         unsigned int xid;
>         int rc;
>
> -       if (remap_flags & ~REMAP_FILE_ADVISORY)
> +       if (remap_flags & ~(REMAP_FILE_DEDUP | REMAP_FILE_ADVISORY))
>                 return -EINVAL;
>
>         cifs_dbg(FYI, "clone range\n");
> --
> 2.18.1
>


-- 
Thanks,

Steve



[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux