From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Thu, 25 Oct 2018 10:24:26 -0700 From: Matthew Wilcox Subject: Re: [PATCH 1/1] man-page: copy_file_range(2) allow for cross-device copies Message-ID: <20181025172426.GI25444@bombadil.infradead.org> References: <20181024195837.35532-1-olga.kornievskaia@gmail.com> <20181024195837.35532-3-olga.kornievskaia@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: To: Amir Goldstein Cc: Olga Kornievskaia , trond.myklebust@hammerspace.com, Anna Schumaker , Al Viro , Steve French , Miklos Szeredi , Linux NFS Mailing List , linux-fsdevel , linux-cifs@vger.kernel.org, overlayfs , linux-man@vger.kernel.org List-ID: On Thu, Oct 25, 2018 at 07:28:10AM +0300, Amir Goldstein wrote: > On Wed, Oct 24, 2018 at 10:59 PM Olga Kornievskaia > wrote: > > > > From: Olga Kornievskaia > > > > 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 > > --- > > 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