svn commit: r365643 - head/bin/cp

Rick Macklem rmacklem at uoguelph.ca
Sat Sep 19 23:58:14 UTC 2020


Kyle Evans wrote:
[stuff snipped]
>Testing on Debian I seem to get back an EINVAL, but I think it's maybe
>a little surprising:
>
>       EXDEV  The files referred to by file_in and file_out are
>              not on the same mounted filesystem.
Well, as Alan noted, Linux is not a standard and they've also changed the
semantics of copy_file_range(2) significantly since it was introduced.
Here's what the most current man page I have says:
       EXDEV  The files referred to by fd_in and fd_out are not on the same
              mounted filesystem (pre Linux 5.3).
Note the change as of Linux5.3. They also initially did not allow it to work
across multiple file systems and then changed to allowing that.
--> All I could do was try and be compatible with the most up to date
       man page I had, which does also state:
 EINVAL Either fd_in or fd_out is not a regular file.

So, I guess the surprising part for me is how quickly (and wthout concerns
w.r.t. backwards compatibility) the Linux kernel folk change things.;-)

All part of the fun, rick

Thanks,

Kyle Evans


More information about the svn-src-head mailing list