bug-coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#63850: cp fails for files > 2 GB if copy offload is unsupported


From: Pádraig Brady
Subject: bug#63850: cp fails for files > 2 GB if copy offload is unsupported
Date: Sat, 3 Jun 2023 19:39:51 +0100
User-agent: Mozilla Thunderbird

On 03/06/2023 07:05, Paul Eggert wrote:
On 2023-06-02 09:31, Pádraig Brady wrote:
I'm not sure it was working correctly before 9.3 either.
Before 9.3 we would have switched from copy_file_range() to read()/write()

Actually, cp shouldn't have been using copy_file_range at all, as the
code is supposed to never use copy_file_range unless the Linux kernel
version is 5.3 or later. See m4/copy-file-range.m4 and
lib/copy-file-range.c.

Since the bug is being reported against kernel 4.19, someone needs to
investigate why the Gentoo build is using the copy_file_range syscall on
that kernel. Either the Gentoo build isn't properly compiling the
replacement function in coreutils/lib/copy-file-range.c, or the
replacement function is incorrectly deciding that the kernel is new
enough, or something like that.

We shouldn't need to fiddle with src/copy.c on this.

Yes good call on the kernel version checks.

Though I think we should be a bit more accommodating for edge cases
in code as fundamental as coreutils copy routines.

Personally I would have a preference for accommodating the partial failure
as originally proposed in the patch at https://bugs.gnu.org/62404#11

Personally I would definitely reinstate the _runtime_ kernel version check,
for this bug and all the other copy_file_range() issues on older kernels.
The runtime to build time change was originally discussed at:
https://lists.gnu.org/archive/html/bug-gnulib/2022-01/msg00118.html

cheers,
Pádraig





reply via email to

[Prev in Thread] Current Thread [Next in Thread]