Re: [PATCH] copy.c: use `sendfile()` for in-kernel file copying on Linux
- From
Collin Funk <collin.funk1@gmail.com>
- Date
- Feb 20, 2026, 16:48 UTC
- Message-ID
- <87o6ljtl6w.fsf@gmail.com>
- In-Reply-To
- <CAPyFy2Dj6z9OuYFF9Tpn98mrd3Hs6BD75B73B+jkqp9aVM8X_w@mail.gmail.com>
Ed Maste <emaste@freebsd.org> writes:
Show 6 quoted lines
> On Sat, 14 Feb 2026 at 11:50, Chris Torek <chris.torek@gmail.com> wrote: >> >> Ah, more importantly, FreeBSD's sendfile only operates on sockets. > > True. If benchmarking shows this is profitable then we'd want to use > copy_file_range(2) on FreeBSD.
We use copy_file_range in GNU Coreutils. Note that it has quite a few issues [1], including a recent one affecting files larger than INT_MAX bytes [2][3].
Coreutils has Gnulib to work around this stuff, and the performance improvement is meaningful for 'cp'. Based on earlier messages in this thread, I am not sure if it is worth dealing with in this case.
Collin
[1] https://lwn.net/Articles/789527/ [2] https://sourceware.org/PR33245 [3] https://bugs.gnu.org/79139