should a copy_file_range(2) syscall be interrupted via a signal

From: Rick Macklem <rmacklem_at_uoguelph.ca>
Date: Fri, 5 Jul 2019 00:28:51 +0000
Hi,

I have been working on a Linux compatible copy_file_range(2) syscall
(the current code can be found at https://reviews.freebsd.org/D20584).

One outstanding issue is how it should deal with signals.
Right now, I have vn_start_write() without PCATCH, so that it won't be
interrupted by a signal, but I notice that vn_write() {ie. write syscall } does
have PCATCH on vn_start_write() and so does vn_rdwr() when it is called
without IO_NODELOCKED.

I am thinking that copy_file_range(2) should do this also.
However, if it returns an error, it is impossible for the caller to know how much
of the data range got copied.

What do you think the copy_file_range(2) code should do?

Thanks, rick
ps: I've used FreeBSD-current_at_ this time, to see if I get more replies than I
      did using FreeBSD-fs_at_.
Received on Thu Jul 04 2019 - 22:28:55 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:21 UTC