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-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to