int posix_fallocate(int fd, off_t offset, off_t len);
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
_XOPEN_SOURCE >= 600 || _POSIX_C_SOURCE >= 200112L
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 fail-
ure. 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 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.
posix_fallocate() is available since glibc 2.1.94.
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 imple-
mentation 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.
fallocate(2), lseek(2), posix_fadvise(2)
Man Pages Copyright Respective Owners. Site Copyright (C) 1994 - 2017
All Rights Reserved.