From: "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com> To: Alejandro Colomar <alx.manpages@gmail.com> Cc: mtk.manpages@gmail.com, linux-man@vger.kernel.org, Luis Henriques <lhenriques@suse.de>, Amir Goldstein <amir73il@gmail.com>, Greg KH <gregkh@linuxfoundation.org>, Anna Schumaker <anna.schumaker@netapp.com>, Jeff Layton <jlayton@kernel.org>, Steve French <sfrench@samba.org>, Miklos Szeredi <miklos@szeredi.hu>, Trond Myklebust <trond.myklebust@hammerspace.com>, Alexander Viro <viro@zeniv.linux.org.uk>, "Darrick J. Wong" <darrick.wong@oracle.com>, Dave Chinner <dchinner@redhat.com>, Nicolas Boichat <drinkcat@chromium.org>, Ian Lance Taylor <iant@google.com>, Luis Lozano <llozano@chromium.org>, Andreas Dilger <adilger@dilger.ca>, Olga Kornievskaia <aglo@umich.edu>, Christoph Hellwig <hch@infradead.org>, ceph-devel <ceph-devel@vger.kernel.org>, linux-kernel <linux-kernel@vger.kernel.org>, CIFS <linux-cifs@vger.kernel.org>, samba-technical <samba-technical@lists.samba.org>, linux-fsdevel <linux-fsdevel@vger.kernel.org>, Linux NFS Mailing List <linux-nfs@vger.kernel.org>, Walter Harms <wharms@bfs.de> Subject: Re: [PATCH] copy_file_range.2: Update cross-filesystem support for 5.12 Date: Mon, 10 May 2021 12:01:20 +1200 [thread overview] Message-ID: <a95d7a31-2345-8e1e-78d7-a1a8f7161565@gmail.com> (raw) In-Reply-To: <20210509213930.94120-12-alx.manpages@gmail.com> Hi Alex, On 5/10/21 9:39 AM, Alejandro Colomar wrote: > Linux 5.12 fixes a regression. > > Cross-filesystem (introduced in 5.3) copies were buggy. > > Move the statements documenting cross-fs to BUGS. > Kernels 5.3..5.11 should be patched soon. > > State version information for some errors related to this. Thanks. Patch applied. Cheers, Michael > > Reported-by: Luis Henriques <lhenriques@suse.de> > Reported-by: Amir Goldstein <amir73il@gmail.com> > Related: <https://lwn.net/Articles/846403/> > Cc: Greg KH <gregkh@linuxfoundation.org> > Cc: Michael Kerrisk <mtk.manpages@gmail.com> > Cc: Anna Schumaker <anna.schumaker@netapp.com> > Cc: Jeff Layton <jlayton@kernel.org> > Cc: Steve French <sfrench@samba.org> > Cc: Miklos Szeredi <miklos@szeredi.hu> > Cc: Trond Myklebust <trond.myklebust@hammerspace.com> > Cc: Alexander Viro <viro@zeniv.linux.org.uk> > Cc: "Darrick J. Wong" <darrick.wong@oracle.com> > Cc: Dave Chinner <dchinner@redhat.com> > Cc: Nicolas Boichat <drinkcat@chromium.org> > Cc: Ian Lance Taylor <iant@google.com> > Cc: Luis Lozano <llozano@chromium.org> > Cc: Andreas Dilger <adilger@dilger.ca> > Cc: Olga Kornievskaia <aglo@umich.edu> > Cc: Christoph Hellwig <hch@infradead.org> > Cc: ceph-devel <ceph-devel@vger.kernel.org> > Cc: linux-kernel <linux-kernel@vger.kernel.org> > Cc: CIFS <linux-cifs@vger.kernel.org> > Cc: samba-technical <samba-technical@lists.samba.org> > Cc: linux-fsdevel <linux-fsdevel@vger.kernel.org> > Cc: Linux NFS Mailing List <linux-nfs@vger.kernel.org> > Cc: Walter Harms <wharms@bfs.de> > Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com> > --- > man2/copy_file_range.2 | 27 +++++++++++++++++++++++---- > 1 file changed, 23 insertions(+), 4 deletions(-) > > diff --git a/man2/copy_file_range.2 b/man2/copy_file_range.2 > index 467a16300..843e02241 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 > +.BR EOPNOTSUPP " (since Linux 5.12)" > +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. > @@ -184,10 +187,17 @@ or > .I fd_out > refers to an active swap file. > .TP > -.B EXDEV > +.BR EXDEV " (before Linux 5.3)" > +The files referred to by > +.IR fd_in " and " fd_out > +are not on the same filesystem. > +.TP > +.BR EXDEV " (since Linux 5.12)" > 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 filesystem, > +and the source and target filesystems are not of the same type, > +or do not support cross-filesystem copy. > .SH VERSIONS > The > .BR copy_file_range () > @@ -200,8 +210,11 @@ Areas of the API that weren't clearly defined were clarified and the API bounds > are much more strictly checked than on earlier kernels. > 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. > +Since Linux 5.12, > +cross-filesystem copies can be achieved > +when both filesystems are of the same type, > +and that filesystem implements support for it. > +See BUGS for behavior prior to 5.12. > .SH CONFORMING TO > The > .BR copy_file_range () > @@ -226,6 +239,12 @@ gives filesystems an opportunity to implement "copy acceleration" techniques, > such as the use of reflinks (i.e., two or more inodes that share > pointers to the same copy-on-write disk blocks) > or server-side-copy (in the case of NFS). > +.SH BUGS > +In Linux kernels 5.3 to 5.11, > +cross-filesystem copies were implemented by the kernel, > +if the operation was not supported by individual filesystems. > +However, on some virtual filesystems, > +the call failed to copy, while still reporting success. > .SH EXAMPLES > .EX > #define _GNU_SOURCE > -- Michael Kerrisk Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ Linux/UNIX System Programming Training: http://man7.org/training/
next prev parent reply other threads:[~2021-05-10 0:01 UTC|newest] Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <20210509213930.94120-1-alx.manpages@gmail.com> 2021-05-09 21:39 ` Alejandro Colomar 2021-05-10 0:01 ` Michael Kerrisk (man-pages) [this message] 2021-05-10 4:26 ` Amir Goldstein 2021-05-10 16:34 ` Michael Kerrisk (man-pages)
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=a95d7a31-2345-8e1e-78d7-a1a8f7161565@gmail.com \ --to=mtk.manpages@gmail.com \ --cc=adilger@dilger.ca \ --cc=aglo@umich.edu \ --cc=alx.manpages@gmail.com \ --cc=amir73il@gmail.com \ --cc=anna.schumaker@netapp.com \ --cc=ceph-devel@vger.kernel.org \ --cc=darrick.wong@oracle.com \ --cc=dchinner@redhat.com \ --cc=drinkcat@chromium.org \ --cc=gregkh@linuxfoundation.org \ --cc=hch@infradead.org \ --cc=iant@google.com \ --cc=jlayton@kernel.org \ --cc=lhenriques@suse.de \ --cc=linux-cifs@vger.kernel.org \ --cc=linux-fsdevel@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-man@vger.kernel.org \ --cc=linux-nfs@vger.kernel.org \ --cc=llozano@chromium.org \ --cc=miklos@szeredi.hu \ --cc=samba-technical@lists.samba.org \ --cc=sfrench@samba.org \ --cc=trond.myklebust@hammerspace.com \ --cc=viro@zeniv.linux.org.uk \ --cc=wharms@bfs.de \ --subject='Re: [PATCH] copy_file_range.2: Update cross-filesystem support for 5.12' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).