POSIX_FALLOCATE
Section: Linux Programmer's Manual (3)
Updated: 2014-06-03
Index
Return to Main Contents
NAME
posix_fallocate - allocate file space
SYNOPSIS
#include <fcntl.h>
int posix_fallocate(int fd, off_t offset, off_t len);
Feature Test Macro Requirements for glibc (see
feature_test_macros(7)):
posix_fallocate():
-
_XOPEN_SOURCE >= 600 || _POSIX_C_SOURCE >= 200112L
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.
VERSIONS
posix_fallocate()
is available since glibc 2.1.94.
ATTRIBUTES
Multithreading (see pthreads(7))
The
posix_fallocate()
function is thread-safe.
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.
SEE ALSO
fallocate(1),
fallocate(2),
lseek(2),
posix_fadvise(2)
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- RETURN VALUE
-
- ERRORS
-
- VERSIONS
-
- ATTRIBUTES
-
- Multithreading (see pthreads(7))
-
- CONFORMING TO
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 02:55:04 GMT, September 18, 2014