The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2003 Edition
Copyright © 2001-2003 The IEEE and The Open Group, All Rights reserved.

NAME

posix_fallocate - file space control (ADVANCED REALTIME)

SYNOPSIS

[ADV] [Option Start] #include <fcntl.h>

int posix_fallocate(int
fd, off_t offset, size_t len); [Option End]

DESCRIPTION

The posix_fallocate() function shall ensure that any required storage for regular file data starting at offset and continuing for len bytes is allocated on the file system storage media. If posix_fallocate() returns successfully, subsequent writes to the specified file data shall not fail due to the lack of free space on the file system storage media.

If the offset+ len is beyond the current file size, then posix_fallocate() shall adjust the file size to offset+ len. Otherwise, the file size shall not be changed.

It is implementation-defined whether a previous posix_fadvise() call influences allocation strategy.

Space allocated via posix_fallocate() shall be freed by a successful call to creat() or open() that truncates the size of the file. Space allocated via posix_fallocate() may be freed by a successful call to ftruncate() that reduces the file size to a size smaller than offset+ len.

RETURN VALUE

Upon successful completion, posix_fallocate() shall return zero; otherwise, an error number shall be returned to indicate the error.

ERRORS

The posix_fallocate() function shall fail if:

[EBADF]
The fd argument is not a valid file descriptor.
[EBADF]
The fd argument references a file that was opened without write permission.
[EFBIG]
The value of offset+ len is greater than the maximum file size.
[EINTR]
A signal was caught during execution.
[EINVAL]
The len argument was zero or the offset argument was less than zero.
[EIO]
An I/O error occurred while reading from or writing to a file system.
[ENODEV]
The fd argument does not refer to a regular file.
[ENOSPC]
There is insufficient free space remaining on the file system storage media.
[ESPIPE]
The fd argument is associated with a pipe or FIFO.

The following sections are informative.

EXAMPLES

None.

APPLICATION USAGE

The posix_fallocate() function is part of the Advisory Information option and need not be provided on all implementations.

RATIONALE

None.

FUTURE DIRECTIONS

None.

SEE ALSO

creat() , ftruncate() , open() , unlink() , the Base Definitions volume of IEEE Std 1003.1-2001, <fcntl.h>

CHANGE HISTORY

First released in Issue 6. Derived from IEEE Std 1003.1d-1999.

In the SYNOPSIS, the inclusion of <sys/types.h> is no longer required.

End of informative text.


UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
[ Main Index | XBD | XCU | XSH | XRAT ]