lkml.org 
[lkml]   [2021]   [Feb]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH] copy_file_range.2: Kernel v5.12 updates
    On Wed, Feb 24, 2021 at 4:22 PM Luis Henriques <lhenriques@suse.de> wrote:
    >
    > Update man-page with recent changes to this syscall.
    >
    > Signed-off-by: Luis Henriques <lhenriques@suse.de>
    > ---
    > Hi!
    >
    > Here's a suggestion for fixing the manpage for copy_file_range(). Note that
    > I've assumed the fix will hit 5.12.
    >
    > man2/copy_file_range.2 | 10 +++++++++-
    > 1 file changed, 9 insertions(+), 1 deletion(-)
    >
    > diff --git a/man2/copy_file_range.2 b/man2/copy_file_range.2
    > index 611a39b8026b..b0fd85e2631e 100644
    > --- a/man2/copy_file_range.2
    > +++ b/man2/copy_file_range.2
    > @@ -169,6 +169,9 @@ Out of memory.
    > .B ENOSPC
    > There is not enough space on the target filesystem to complete the copy.
    > .TP
    > +.B EOPNOTSUPP
    > +The filesystem does not support this operation.
    > +.TP
    > .B EOVERFLOW
    > The requested source or destination range is too large to represent in the
    > specified data types.
    > @@ -187,7 +190,7 @@ refers to an active swap file.
    > .B EXDEV
    > The files referred to by
    > .IR fd_in " and " fd_out
    > -are not on the same mounted filesystem (pre Linux 5.3).
    > +are not on the same mounted filesystem (pre Linux 5.3 and post Linux 5.12).

    I think you need to drop the (Linux range) altogether.
    What's missing here is the NFS cross server copy use case.
    Maybe:

    ...are not on the same mounted filesystem and the source and target filesystems
    do not support cross-filesystem copy.

    You may refer the reader to VERSIONS section where it will say which
    filesystems support cross-fs copy as of kernel version XXX (i.e. cifs and nfs).

    > .SH VERSIONS
    > The
    > .BR copy_file_range ()
    > @@ -202,6 +205,11 @@ Applications should target the behaviour and requirements of 5.3 kernels.
    > .PP
    > First support for cross-filesystem copies was introduced in Linux 5.3.
    > Older kernels will return -EXDEV when cross-filesystem copies are attempted.
    > +.PP
    > +After Linux 5.12, support for copies between different filesystems was dropped.
    > +However, individual filesystems may still provide
    > +.BR copy_file_range ()
    > +implementations that allow copies across different devices.

    Again, this is not likely to stay uptodate for very long.
    The stable kernels are expected to apply your patch (because it fixes
    a regression)
    so this should be phrased differently.
    If it were me, I would provide all the details of the situation to
    Michael and ask him
    to write the best description for this section.

    Thanks,
    Amir.

    \
     
     \ /
      Last update: 2021-02-24 17:17    [W:4.169 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site