Konstantin Belousov wrote: >On Thu, Jul 25, 2019 at 05:46:17AM +0000, Rick Macklem wrote: >> Author: rmacklem >> Date: Thu Jul 25 05:46:16 2019 >> New Revision: 350315 >> URL: https://svnweb.freebsd.org/changeset/base/350315 >> >> Log: >> Add kernel support for a Linux compatible copy_file_range(2) syscall. > >> Modified: head/sys/kern/syscalls.master >> >=====================================================================>========= >> --- head/sys/kern/syscalls.master Thu Jul 25 03:55:05 2019 >> (r350314) >> +++ head/sys/kern/syscalls.master Thu Jul 25 05:46:16 2019 >> (r350315) >> @@ -3175,6 +3175,16 @@ >> int flag >> ); >> } >> +569 AUE_NULL STD { >> + ssize_t copy_file_range( >> + int infd, >> + _Inout_opt_ off_t *inoffp, >> + int outfd, >> + _Inout_opt_ off_t *outoffp, >> + size_t len, >> + unsigned int flags >> + ); >> + } > >I sat to write the compat32 shims, and only then noted that len has size_t >type. Why is it size_t and not off_t ? Well, that's what Linux did.
Also, since it returns ssize_t, it can't do more than SSIZE_MAX (generally 1/2 of SIZE_T_MAX). Returning ssize_t is also what Linux does and is consistent with read(2)/write(2). rick _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"