POSIX_FALLOCATE
Section: Linux Programmer's Manual (3)
Updated: 2009-03-30
Index
Return to Main Contents
NAME
posix_fallocate - allocate file space
SYNOPSIS
#define _XOPEN_SOURCE 600
#include <fcntl.h>
int posix_fallocate(int fd, off_t offset, off_t len);
DESCRIPTION
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-2001 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.
SEE ALSO
fallocate(2),
lseek(2),
posix_fadvise(2),
feature_test_macros(7)
COLOPHON
This page is part of release 3.22 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/.