The function
posix_fallocate()
ensures that disk space is allocated for the file referred to by the
descriptor
fd
for the bytes in the range starting at
offset
and continuing for
len
bytes.
After a successful call to
posix_fallocate(),
subsequent writes to bytes in the specified range are
guaranteed not to fail because of lack of disk space.
If the size of the file is less than
offset+len,
then the file is increased to this size;
otherwise the file size is left unchanged.
RETURN VALUE
posix_fallocate()
returns zero on success, or an error number on failure.
Note that
errno
is not set.
ERRORS
EBADF
fd
is not a valid file descriptor, or is not opened for writing.
EFBIG
offset+len
exceeds the maximum file size.
EINVAL
offset
was less than 0, or
len
was less than or equal to 0.
ENODEV
fd
does not refer to a regular file.
ENOSPC
There is not enough space left on the device containing the file
referred to by
fd.
ESPIPE
fd
refers to a pipe of file descriptor.
VERSIONS
posix_fallocate()
is available since glibc 2.1.94.
CONFORMING TO
POSIX.1-2001.
POSIX.1-2008 says that an implementation
shall
give the
EINVAL
error if
len
was 0, or
offset
was less than 0.
POSIX.1-2001 says that an implementation
shall
give the
EINVAL
error if
len
is less than 0, or
offset
was less than 0, and
may
give the error if
len
equals zero.
This page is part of release 3.27 of the Linux
man-pages
project.
A description of the project,
and information about reporting bugs,
can be found at
http://www.kernel.org/doc/man-pages/.