Re: [PATCH v3] Subject: [PATCH v3] copy_file_range.2: glibc no longer provides fallback after 2.30
From: Alejandro Colomar <alx@kernel.org>
Date: 2025-11-09 12:15:55
Attachments
- signature.asc [application/pgp-signature] 833 bytes
From: Alejandro Colomar <alx@kernel.org>
Date: 2025-11-09 12:15:55
Hi Wes, On Sat, Nov 01, 2025 at 08:03:30PM -0400, Wes Gibbs wrote:
v3: - Modified Signed-off, Wes Gibbs [off-list ref] is the author - Clarify that glibc wrapper was introduced in 2.27 - Fixed commit link and ensured semantic newlines - Updated to correct URL in comment to avoid 404 - Unknown commit object Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=220489 Author: Wes Gibbs [off-list ref] Signed-off-by: Wes Gibbs <redacted> ---
Thanks! I've applied the patch. <https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/commit/?id=b983fe3aa92bf8713d214f599d487569b39ca818> Have a lovely day! Alex
man/man2/copy_file_range.2 | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-)diff --git a/man/man2/copy_file_range.2 b/man/man2/copy_file_range.2 index e9e9e9945..e1e36dd5e 100644 --- a/man/man2/copy_file_range.2 +++ b/man/man2/copy_file_range.2@@ -202,10 +202,16 @@ that was also backported to earlier stable kernels. .SH STANDARDS Linux, GNU. .SH HISTORY -Linux 4.5, -but glibc 2.27 provides a user-space -emulation when it is not available. +Linux 4.5. +Before glibc 2.30, starting with glibc 2.27, the glibc wrapper function +provided a user-space fallback implementation when the kernel did not +implement this system call. +Since glibc 2.30, that fallback has been removed; the function now +fails with ENOSYS if the kernel lacks support for .BR copy_file_range (). +.\" Fallback introduced in glibc 2.27: .\" https://sourceware.org/git/?p=glibc.git;a=commit;f=posix/unistd.h;h=bad7a0c81f501fbbcc79af9eaa4b8254441c4a1f +.\" Fallback removed in glibc 2.30: +.\" https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=5a659ccc0ec217ab02a4c273a1f6d346a359560a .SH NOTES If .I fd_in-- 2.48.1
-- <https://www.alejandro-colomar.es> Use port 80 (that is, <...:80/>).