On 2021-05-12 16:09, Pádraig Brady wrote:
copy_file_range() before Linux kernel release 5.3 had many issues,
Remark: although there is nothing wrong with the patch, and it is
necessary, this seems like an issue for the C library to handle,
as well.
- The GNU C library provides the function copy_file_range. The
fact that this is a linux kernel feature is abstracted by the library.
- The GNU C library knows what version of the kernel it is running on,
and provides workarounds in relation to that (or possibly refuses
to run at all).
So, arguably, the responsibility of somehow working around this lies
with glibc; glibc is the purveyor of the API.
Unfortunately, I don't see any discussions about the issue in
libc-alpha mailing list.
The situation is not acceptable that a GNU program is working around
broken GNU library functions, with no action being taken in the
GNU library (even if that program will need to carry those workarounds
anyway).