POSIX_FALLOCATE(3)

NAME
posix_fallocate - allocate file space

SYNOPSIS
#define _XOPEN_SOURCE 600
#include <stdlib.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 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.

VERSIONS
posix_fallocate() is available since glibc 2.1.94.

CONFORMING TO
POSIX.1-2001.

SEE ALSO
lseek(2), posix_fadvise(2), feature_test_macros(7)