linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Matthew Wilcox <willy@infradead.org>
To: Olga Kornievskaia <olga.kornievskaia@gmail.com>
Cc: Amir Goldstein <amir73il@gmail.com>,
	trond.myklebust@hammerspace.com,
	Anna Schumaker <anna.schumaker@netapp.com>,
	viro@zeniv.linux.org.uk, Steve French <smfrench@gmail.com>,
	Miklos Szeredi <miklos@szeredi.hu>,
	linux-nfs <linux-nfs@vger.kernel.org>,
	linux-fsdevel@vger.kernel.org, linux-cifs@vger.kernel.org,
	linux-unionfs@vger.kernel.org, linux-man@vger.kernel.org
Subject: Re: [PATCH 1/1] man-page: copy_file_range(2) allow for cross-device copies
Date: Thu, 25 Oct 2018 11:08:00 -0700	[thread overview]
Message-ID: <20181025180800.GJ25444@bombadil.infradead.org> (raw)
In-Reply-To: <CAN-5tyHOk=h+5GdmrUrnTBhvOEeYkz34YXsaudHBiEhgt1o7gQ@mail.gmail.com>

On Thu, Oct 25, 2018 at 01:47:21PM -0400, Olga Kornievskaia wrote:
> On Thu, Oct 25, 2018 at 1:24 PM Matthew Wilcox <willy@infradead.org> wrote:
> >
> > On Thu, Oct 25, 2018 at 07:28:10AM +0300, Amir Goldstein wrote:
> > > On Wed, Oct 24, 2018 at 10:59 PM Olga Kornievskaia
> > > <olga.kornievskaia@gmail.com> wrote:
> > > >
> > > > From: Olga Kornievskaia <kolga@netapp.com>
> > > >
> > > > A proposed VFS change removes the check for the files to reside
> > > > under the same file system. Instead, a file system driver implementation
> > > > is allowed to perform a cross-device copy_file_range() and if
> > > > the file system fails to support it instead fallback to doing
> > > > a do_splice copy. Therefore, EXDEV is no longer a possible error.
> > > >
> > > > Signed-off-by: Olga Kornievskaia <kolga@netapp.com>
> > > > ---
> > > >  man2/copy_file_range.2 | 7 ++-----
> > > >  1 file changed, 2 insertions(+), 5 deletions(-)
> > > >
> > > > diff --git a/man2/copy_file_range.2 b/man2/copy_file_range.2
> > > > index 20374ab..723b2d0 100644
> > > > --- a/man2/copy_file_range.2
> > > > +++ b/man2/copy_file_range.2
> > > > @@ -39,7 +39,8 @@ The
> > > >  .BR copy_file_range ()
> > > >  system call performs an in-kernel copy between two file descriptors
> > > >  without the additional cost of transferring data from the kernel to user space
> > > > -and then back into the kernel.
> > > > +and then back into the kernel. Since kernel version 4.21(???) passed in
> > > > +file descriptors are not required to be under the same mounted file system.
> > > >  It copies up to
> > > >  .I len
> > > >  bytes of data from file descriptor
> > > > @@ -128,10 +129,6 @@ Out of memory.
> > > >  .B ENOSPC
> > > >  There is not enough space on the target filesystem to complete the copy.
> > > >  .TP
> > > > -.B EXDEV
> > > > -The files referred to by
> > > > -.IR file_in " and " file_out
> > > > -are not on the same mounted filesystem.
> > >
> > > Man page serves users of old kernels as well. You should not delete this
> > > expected error, but you can add "... and kernel does not support cross
> > > filesystem copy".
> >
> > I'd rather see this worded as:
> >
> >  .B EXDEV
> >  The files referred to by
> >  .IR file_in " and " file_out
> > -are not on the same mounted filesystem.
> > +cannot be copied due to being on incompatible filesystems
> 
> Why should this be changed to "incompatible filesystems". Existing
> code doesn't support not only incompatibly filesystem but also cross
> device of compatible file systems. And this error is only left for the
> old kernels. In the new kernel, the error EXDEV will never be
> returned.

If I try to copy_file_range() between an NFS filesystem and a CIFS
filesystem with a new kernel, what error do I get?

  reply	other threads:[~2018-10-26  2:41 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-24 19:58 [PATCH v2 00/13] client-side support for "inter" SSC copy Olga Kornievskaia
2018-10-24 19:58 ` [PATCH v2 01/13] VFS permit cross device vfs_copy_file_range Olga Kornievskaia
2018-10-25  4:34   ` Amir Goldstein
2018-10-24 19:58 ` [PATCH 1/1] man-page: copy_file_range(2) allow for cross-device copies Olga Kornievskaia
2018-10-25  4:28   ` Amir Goldstein
2018-10-25 15:26     ` Olga Kornievskaia
2018-10-25 17:24     ` Matthew Wilcox
2018-10-25 17:47       ` Olga Kornievskaia
2018-10-25 18:08         ` Matthew Wilcox [this message]
2018-10-25 18:14           ` Olga Kornievskaia
2018-10-24 19:58 ` [PATCH v2 02/13] CIFS: add cross-device check for copy_file_range Olga Kornievskaia
2018-10-24 19:58 ` [PATCH v2 03/13] OverlayFS: " Olga Kornievskaia
2018-10-25  5:54   ` Amir Goldstein
2018-10-25 15:31     ` Olga Kornievskaia
2018-10-26 12:12     ` Olga Kornievskaia
2018-10-24 19:58 ` [PATCH v2 04/13] NFS: add cross file system " Olga Kornievskaia
2018-10-25  4:38   ` Amir Goldstein
2018-10-25 15:28     ` Olga Kornievskaia
2018-10-25 16:54       ` Amir Goldstein
2018-10-25 17:12         ` Olga Kornievskaia
2018-10-24 19:58 ` [PATCH v2 05/13] VFS: Don't copy beyond the end of the file Olga Kornievskaia
2018-10-24 19:58 ` [PATCH v2 06/13] NFS NFSD defining nl4_servers structure needed by both Olga Kornievskaia
2018-10-24 19:58 ` [PATCH v2 07/13] NFS add COPY_NOTIFY operation Olga Kornievskaia
2018-10-24 19:58 ` [PATCH v2 08/13] NFS add ca_source_server<> to COPY Olga Kornievskaia
2018-10-24 19:58 ` [PATCH v2 09/13] NFS also send OFFLOAD_CANCEL to source server Olga Kornievskaia
2018-10-24 19:58 ` [PATCH v2 10/13] NFS inter ssc open Olga Kornievskaia
2018-10-25  1:31   ` kbuild test robot
2018-10-25  1:31   ` [PATCH] fix ptr_ret.cocci warnings kbuild test robot
2018-10-24 19:58 ` [PATCH v2 11/13] NFS skip recovery of copy open on dest server Olga Kornievskaia
2018-10-24 19:58 ` [PATCH v2 12/13] NFS for "inter" copy treat ESTALE as ENOTSUPP Olga Kornievskaia
2018-10-24 19:58 ` [PATCH v2 13/13] NFS COPY handle ERR_OFFLOAD_DENIED Olga Kornievskaia
2018-10-25 21:51 [PATCH v3 00/11] client-side support for "inter" SSC copy Olga Kornievskaia
2018-10-25 21:51 ` [PATCH 1/1] man-page: copy_file_range(2) allow for cross-device copies Olga Kornievskaia
2018-10-26 20:10 [PATCH v4 00/11] client-side support for "inter" SSC copy Olga Kornievskaia
2018-10-26 20:10 ` [PATCH 1/1] man-page: copy_file_range(2) allow for cross-device copies Olga Kornievskaia
2018-10-27  9:12   ` Dave Chinner
2018-10-27 13:23     ` Matthew Wilcox
2018-10-28  1:33       ` Dave Chinner
2018-10-28  2:39         ` Matthew Wilcox
2018-10-29 14:25         ` Olga Kornievskaia
2018-10-29 15:52           ` Olga Kornievskaia
2018-10-29 17:49             ` Amir Goldstein
2018-10-29 19:03 [PATCH v6 00/12] client-side support for "inter" SSC copy Olga Kornievskaia
2018-10-29 19:03 ` [PATCH 1/1] man-page: copy_file_range(2) allow for cross-device copies Olga Kornievskaia
2018-10-30 20:56 [PATCH v7 00/11] client-side support for "inter" SSC copy Olga Kornievskaia
2018-10-30 20:56 ` [PATCH 1/1] man-page: copy_file_range(2) allow for cross-device copies Olga Kornievskaia

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=20181025180800.GJ25444@bombadil.infradead.org \
    --to=willy@infradead.org \
    --cc=amir73il@gmail.com \
    --cc=anna.schumaker@netapp.com \
    --cc=linux-cifs@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-man@vger.kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=linux-unionfs@vger.kernel.org \
    --cc=miklos@szeredi.hu \
    --cc=olga.kornievskaia@gmail.com \
    --cc=smfrench@gmail.com \
    --cc=trond.myklebust@hammerspace.com \
    --cc=viro@zeniv.linux.org.uk \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).