GNU/Linux |
CentOS 5.4 |
|
![]() |
posix_fallocate(3) |
![]() |
posix_fallocate − allocate file space
#define
_XOPEN_SOURCE 600
#include <stdlib.h>
int posix_fallocate(int fd, off_t offset, off_t len);
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.
posix_fallocate() returns zero on success, or an error number on failure. Note that errno is not set.
EBADF |
fd is not a valid file descriptor, or is not opened for writing. | ||
EFBIG |
offset+len exceeds the maximum file size. | ||
EINVAL |
offset or len was less than 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. |
posix_fallocate() is available since glibc 2.1.94.
POSIX.1-2001.
lseek(2), posix_fadvise(2)
![]() |
posix_fallocate(3) | ![]() |