Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 5 Jul 2019 00:28:51 +0000
From:      Rick Macklem <rmacklem@uoguelph.ca>
To:        "freebsd-current@FreeBSD.org" <freebsd-current@FreeBSD.org>
Cc:        "kib@freebsd.org" <kib@FreeBSD.org>, Alan Somers <asomers@freebsd.org>
Subject:   should a copy_file_range(2) syscall be interrupted via a signal
Message-ID:  <YTXPR01MB0285E79DFAAE250FD7A7A181DDF50@YTXPR01MB0285.CANPRD01.PROD.OUTLOOK.COM>

next in thread | raw e-mail | index | archive | help
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 ho=
w 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@ this time, to see if I get more replies than=
 I
      did using FreeBSD-fs@.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?YTXPR01MB0285E79DFAAE250FD7A7A181DDF50>