about summary refs log tree commit diff
path: root/pkgs/tools/misc/coreutils
diff options
context:
space:
mode:
authorJanne Heß <janne@hess.ooo>2023-03-21 13:16:21 +0100
committerJanne Heß <janne@hess.ooo>2023-05-01 11:13:20 +0200
commit65366c0602e2042f6bd045204dd13aa2dc5749fa (patch)
treeca9ce19d203f2da082b898e01790db7b4f64a540 /pkgs/tools/misc/coreutils
parentd7e6609505d1b533133414d0df77413a8257209c (diff)
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
Diffstat (limited to 'pkgs/tools/misc/coreutils')
-rw-r--r--pkgs/tools/misc/coreutils/default.nix5
-rw-r--r--pkgs/tools/misc/coreutils/disable-seek-hole.patch43
2 files changed, 0 insertions, 48 deletions
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)