From 65366c0602e2042f6bd045204dd13aa2dc5749fa Mon Sep 17 00:00:00 2001 From: Janne Heß Date: Tue, 21 Mar 2023 13:16:21 +0100 Subject: coreutils: Re-enable hole seeking on Darwin The bug appears to be resolved: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=61386 See also here: https://github.com/openwrt/openwrt/pull/11960#issuecomment-1443787254 And here: https://github.com/openwrt/openwrt/pull/12233 --- pkgs/tools/misc/coreutils/default.nix | 5 --- pkgs/tools/misc/coreutils/disable-seek-hole.patch | 43 ----------------------- 2 files changed, 48 deletions(-) delete mode 100644 pkgs/tools/misc/coreutils/disable-seek-hole.patch (limited to 'pkgs/tools') diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix index bef2f422130db..beee4241c5418 100644 --- a/pkgs/tools/misc/coreutils/default.nix +++ b/pkgs/tools/misc/coreutils/default.nix @@ -39,11 +39,6 @@ stdenv.mkDerivation rec { hash = "sha256-rbz8/omSNbceh2jc8HzVMlILf1T5qAZIQ/jRmakEu6o="; }; - patches = lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [ - # Workaround for https://debbugs.gnu.org/cgi/bugreport.cgi?bug=51433 - ./disable-seek-hole.patch - ]; - postPatch = '' # The test tends to fail on btrfs, f2fs and maybe other unusual filesystems. sed '2i echo Skipping dd sparse test && exit 77' -i ./tests/dd/sparse.sh diff --git a/pkgs/tools/misc/coreutils/disable-seek-hole.patch b/pkgs/tools/misc/coreutils/disable-seek-hole.patch deleted file mode 100644 index 89503287980d4..0000000000000 --- a/pkgs/tools/misc/coreutils/disable-seek-hole.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff --git a/src/copy.c b/src/copy.c -index cb9018f93..2a4ccc061 100644 ---- a/src/copy.c -+++ b/src/copy.c -@@ -502,7 +502,7 @@ write_zeros (int fd, off_t n_bytes) - return true; - } - --#ifdef SEEK_HOLE -+#if 0 - /* Perform an efficient extent copy, if possible. This avoids - the overhead of detecting holes in hole-introducing/preserving - copy, and thus makes copying sparse files much more efficient. -@@ -1095,7 +1095,7 @@ infer_scantype (int fd, struct stat const *sb, - && ST_NBLOCKS (*sb) < sb->st_size / ST_NBLOCKSIZE)) - return PLAIN_SCANTYPE; - --#ifdef SEEK_HOLE -+#if 0 - scan_inference->ext_start = lseek (fd, 0, SEEK_DATA); - if (0 <= scan_inference->ext_start) - return LSEEK_SCANTYPE; -@@ -1377,7 +1377,7 @@ copy_reg (char const *src_name, char const *dst_name, - off_t n_read; - bool wrote_hole_at_eof = false; - if (! ( --#ifdef SEEK_HOLE -+#if 0 - scantype == LSEEK_SCANTYPE - ? lseek_copy (source_desc, dest_desc, buf, buf_size, hole_size, - scan_inference.ext_start, src_open_sb.st_size, -diff --git a/tests/seek-data-capable b/tests/seek-data-capable -index cc6372214..6e7a9ec1e 100644 ---- a/tests/seek-data-capable -+++ b/tests/seek-data-capable -@@ -1,5 +1,7 @@ - import sys, os, errno, platform - -+sys.exit(1) -+ - # Pass an _empty_ file - if len(sys.argv) != 2: - sys.exit(1) -- cgit 1.4.1