From: Pádraig Brady
Date: Wed, 6 May 2015 15:23:56 +0000 (+0100)
Subject: doc: document glibc posix_fallocate() issues
X-Git-Tag: v1.0~7078
X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=79897201751cdc9e5c6194a096f8506ef8d8b5ac;p=gnulib.git
doc: document glibc posix_fallocate() issues
* doc/posix-functions/posix_fallocate.texi: Mention the
glibc efficiency problems and issues with NFS.
---
diff --git a/ChangeLog b/ChangeLog
index cf3acc7ee1..fc08ebae5c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2015-05-06 Pádraig Brady
+
+ doc: document glibc posix_fallocate() issues
+ * doc/posix-functions/posix_fallocate.texi: Mention the
+ glibc efficiency problems and issues with NFS.
+
2015-05-05 Karl Berry
* build-aux/gendocs.sh (usage): document new css default
diff --git a/doc/posix-functions/posix_fallocate.texi b/doc/posix-functions/posix_fallocate.texi
index a7c47008d8..9e04b44e22 100644
--- a/doc/posix-functions/posix_fallocate.texi
+++ b/doc/posix-functions/posix_fallocate.texi
@@ -17,6 +17,12 @@ This function is missing on some platforms:
Mac OS X 10.5, FreeBSD 6.0, NetBSD 5.0, OpenBSD 3.8, Minix 3.1.8, AIX 5.1, HP-UX 11,
IRIX 6.5, OSF/1 5.1, Solaris 10, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS.
@item
+POSIX specifies that EINVAL should be returned when the file system doesn't
+support the allocation operation directly. glibc however emulates the file system
+allocation with writes where unsupported, and apps have depended on
+that long term implementation. This is both inefficient, and as of
+glibc 2.21 at least, buggy on certain NFS setups.
+@item
On platforms where @code{off_t} is a 32-bit type, this function may not
work correctly across the entire data range of files larger than 2 GB.
The fix is to use the @code{AC_SYS_LARGEFILE} macro.