summaryrefslogtreecommitdiffstats
path: root/man-pages-posix-2017/man3p/posix_fallocate.3p
diff options
context:
space:
mode:
Diffstat (limited to 'man-pages-posix-2017/man3p/posix_fallocate.3p')
-rw-r--r--man-pages-posix-2017/man3p/posix_fallocate.3p162
1 files changed, 162 insertions, 0 deletions
diff --git a/man-pages-posix-2017/man3p/posix_fallocate.3p b/man-pages-posix-2017/man3p/posix_fallocate.3p
new file mode 100644
index 0000000..d0a684b
--- /dev/null
+++ b/man-pages-posix-2017/man3p/posix_fallocate.3p
@@ -0,0 +1,162 @@
+'\" et
+.TH POSIX_FALLOCATE "3P" 2017 "IEEE/The Open Group" "POSIX Programmer's Manual"
+.\"
+.SH PROLOG
+This manual page is part of the POSIX Programmer's Manual.
+The Linux implementation of this interface may differ (consult
+the corresponding Linux manual page for details of Linux behavior),
+or the interface may not be implemented on Linux.
+.\"
+.SH NAME
+posix_fallocate
+\(em file space control
+(\fBADVANCED REALTIME\fP)
+.SH SYNOPSIS
+.LP
+.nf
+#include <fcntl.h>
+.P
+int posix_fallocate(int \fIfd\fP, off_t \fIoffset\fP, off_t \fIlen\fP);
+.fi
+.SH DESCRIPTION
+The
+\fIposix_fallocate\fR()
+function shall ensure that any required storage for regular file data
+starting at
+.IR offset
+and continuing for
+.IR len
+bytes is allocated on the file system storage media. If
+\fIposix_fallocate\fR()
+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.
+.P
+If the
+.IR offset +\c
+.IR len
+is beyond the current file size, then
+\fIposix_fallocate\fR()
+shall adjust the file size to
+.IR offset +\c
+.IR len .
+Otherwise, the file size shall not be changed.
+.P
+It is implementation-defined whether a previous
+\fIposix_fadvise\fR()
+call influences allocation strategy.
+.P
+Space allocated via
+\fIposix_fallocate\fR()
+shall be freed by a successful call to
+\fIcreat\fR()
+or
+\fIopen\fR()
+that truncates the size of the file. Space allocated via
+\fIposix_fallocate\fR()
+may be freed by a successful call to
+\fIftruncate\fR()
+that reduces the file size to a size smaller than
+.IR offset +\c
+.IR len .
+.SH "RETURN VALUE"
+Upon successful completion,
+\fIposix_fallocate\fR()
+shall return zero; otherwise, an error number shall be returned to
+indicate the error.
+.SH ERRORS
+The
+\fIposix_fallocate\fR()
+function shall fail if:
+.TP
+.BR EBADF
+The
+.IR fd
+argument is not a valid file descriptor.
+.TP
+.BR EBADF
+The
+.IR fd
+argument references a file that was opened without write permission.
+.TP
+.BR EFBIG
+The value of
+.IR offset +\c
+.IR len
+is greater than the maximum file size.
+.TP
+.BR EINTR
+A signal was caught during execution.
+.TP
+.BR EINVAL
+The
+.IR len
+argument is less than zero, or the
+.IR offset
+argument is less than zero, or the underlying file system does not
+support this operation.
+.TP
+.BR EIO
+An I/O error occurred while reading from or writing to a file system.
+.TP
+.BR ENODEV
+The
+.IR fd
+argument does not refer to a regular file.
+.TP
+.BR ENOSPC
+There is insufficient free space remaining on the file system storage
+media.
+.TP
+.BR ESPIPE
+The
+.IR fd
+argument is associated with a pipe or FIFO.
+.P
+The
+\fIposix_fallocate\fR()
+function may fail if:
+.TP
+.BR EINVAL
+The
+.IR len
+argument is zero.
+.LP
+.IR "The following sections are informative."
+.SH EXAMPLES
+None.
+.SH "APPLICATION USAGE"
+The
+\fIposix_fallocate\fR()
+function is part of the Advisory Information option and need not be
+provided on all implementations.
+.SH RATIONALE
+None.
+.SH "FUTURE DIRECTIONS"
+None.
+.SH "SEE ALSO"
+.IR "\fIcreat\fR\^(\|)",
+.IR "\fIftruncate\fR\^(\|)",
+.IR "\fIopen\fR\^(\|)",
+.IR "\fIunlink\fR\^(\|)"
+.P
+The Base Definitions volume of POSIX.1\(hy2017,
+.IR "\fB<fcntl.h>\fP"
+.\"
+.SH COPYRIGHT
+Portions of this text are reprinted and reproduced in electronic form
+from IEEE Std 1003.1-2017, Standard for Information Technology
+-- Portable Operating System Interface (POSIX), The Open Group Base
+Specifications Issue 7, 2018 Edition,
+Copyright (C) 2018 by the Institute of
+Electrical and Electronics Engineers, Inc and The Open Group.
+In the event of any discrepancy between this version and the original IEEE and
+The Open Group Standard, the original IEEE and The Open Group Standard
+is the referee document. The original Standard can be obtained online at
+http://www.opengroup.org/unix/online.html .
+.PP
+Any typographical or formatting errors that appear
+in this page are most likely
+to have been introduced during the conversion of the source files to
+man page format. To report such errors, see
+https://www.kernel.org/doc/man-pages/reporting_bugs.html .