summaryrefslogtreecommitdiff
path: root/m4/jm-macros.m4
diff options
context:
space:
mode:
authorPádraig Brady <P@draigBrady.com>2014-10-06 10:19:58 +0100
committerPádraig Brady <P@draigBrady.com>2014-10-15 02:19:37 +0100
commiteafa6ebf10924ec36cb5d28fd9d97a23de089bd0 (patch)
tree3ee55b7ececa569a813bad821b24ce1f9918a3fa /m4/jm-macros.m4
parent759b0ac9e7f3fbd0f04090e3142087bf692e47bc (diff)
downloadcoreutils-eafa6ebf10924ec36cb5d28fd9d97a23de089bd0.tar.xz
cp: avoid speculative preallocation with --sparse=always
With --sparse=always use fallocate(...PUNCH_HOLE...) to avoid any permanent allocation due to speculative preallocation employed by file systems such as XFS. * m4/jm-macros.m4: Check for <linux/falloc.h> and fallocate(). * src/copy.c (punch_hole): A new function to try and punch a hole at the specified offset if supported. (create_hole): Call punch_hole() after requesting a hole. (extent_copy): Likewise. * NEWS: Mention the improvement.
Diffstat (limited to 'm4/jm-macros.m4')
-rw-r--r--m4/jm-macros.m42
1 files changed, 2 insertions, 0 deletions
diff --git a/m4/jm-macros.m4 b/m4/jm-macros.m4
index a96ecabb6..07b90850c 100644
--- a/m4/jm-macros.m4
+++ b/m4/jm-macros.m4
@@ -78,6 +78,7 @@ AC_DEFUN([coreutils_MACROS],
AC_CHECK_FUNCS_ONCE([
endgrent
endpwent
+ fallocate
fchown
fchmod
ftruncate
@@ -189,6 +190,7 @@ AC_DEFUN([gl_CHECK_ALL_HEADERS],
[
AC_CHECK_HEADERS_ONCE([
hurd.h
+ linux/falloc.h
paths.h
priv.h
stropts.h