From: Xi Ruoyao Date: Thu, 8 Jan 2026 07:27:53 +0000 (+0800) Subject: Linux: fix copy_file_range test on Linux >= 6.18 X-Git-Tag: glibc-2.43~45 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dc700cc2c698540405a69d5dd00c6d0f47dccff0;p=thirdparty%2Fglibc.git Linux: fix copy_file_range test on Linux >= 6.18 On Linux >= 6.18, the kernel submits the new COPY_FILE_RANGE_64 operation to the fuse implementation for large files. There is a fall-back routine to COPY_FILE_RANGE but it's only used if COPY_FILE_RANGE_64 returns ENOSYS. So, return ENOSYS instead of EIO for "unsupported" operations in order to make the kernel do the correct thing for this case and maybe in case that a new operation is added into the kernel fuse interface in the future. Signed-off-by: Xi Ruoyao Reviewed-by: Florian Weimer --- diff --git a/sysdeps/unix/sysv/linux/tst-copy_file_range-large.c b/sysdeps/unix/sysv/linux/tst-copy_file_range-large.c index 8013afb282..e92f7d4557 100644 --- a/sysdeps/unix/sysv/linux/tst-copy_file_range-large.c +++ b/sysdeps/unix/sysv/linux/tst-copy_file_range-large.c @@ -128,7 +128,7 @@ fuse_thread (struct support_fuse *f, void *closure) break; default: - support_fuse_reply_error (f, EIO); + support_fuse_reply_error (f, ENOSYS); } } }