From 79897201751cdc9e5c6194a096f8506ef8d8b5ac Mon Sep 17 00:00:00 2001
From: =?utf8?q?P=C3=A1draig=20Brady?=
Date: Wed, 6 May 2015 16:23:56 +0100
Subject: [PATCH] doc: document glibc posix_fallocate() issues
* doc/posix-functions/posix_fallocate.texi: Mention the
glibc efficiency problems and issues with NFS.
---
ChangeLog | 6 ++++++
doc/posix-functions/posix_fallocate.texi | 6 ++++++
2 files changed, 12 insertions(+)
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.
--
2.39.5