@node posix_fallocate
@subsection @code{posix_fallocate}
@findex posix_fallocate

POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9799919799/functions/posix_fallocate.html}

Gnulib module: ---

Portability problems fixed by Gnulib:
@itemize
@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 2 GiB and larger.
@xref{Large File Support}.
@end itemize

Portability problems not fixed by Gnulib:
@itemize
@item
This function is missing on some platforms:
macOS 14, FreeBSD 6.0, NetBSD 5.0, OpenBSD 7.5, Minix 3.1.8, AIX 5.1, HP-UX 11, Solaris 10, Cygwin 1.5.x, mingw, MSVC 14, Android 4.4.
@item
POSIX specifies that @code{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.
@end itemize
