|
From: | Paul Eggert |
Subject: | bug#51857: cross-filesystem copying broken on macOS with coreutils >= 9.0 |
Date: | Mon, 15 Nov 2021 23:31:12 -0800 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.2.1 |
On 11/15/21 19:14, Sudhip Nashi wrote:
lseek(0x3, 0x0, 0x3) = -1 Err#6
Oh my, it appears lseek (fd, 0, SEEK_HOLE) is failing with errno == ENXIO when the file has no holes, even though the Darwin man page clearly states that lseek should return the file size in that case (see <https://github.com/apple/darwin-xnu/blob/main/bsd/man/man2/lseek.2>). So, not only does macOS lseek disagree with all other implementations, it even disagrees with the Darwin documentation.
To work around this macOS problem I installed the attached further patch into Gnulib and propagated it into coreutils. Please try the latest coreutils version on Savannah, or you can simply run configure+make from the tarball that is temporarily at:
https://web.cs.ucla.edu/~eggert/coreutils-9.0.28-6d0f0.tar.gz
0001-lseek-port-around-macOS-SEEK_HOLE-glitch.patch
Description: Text Data
[Prev in Thread] | Current Thread | [Next in Thread] |