[newlib-cygwin/main] Cygwin: api docs: add missing fallocate
Corinna Vinschen
corinna@sourceware.org
Mon Jan 15 10:05:20 GMT 2024
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=4ecfb5b7292af4baf0a2f199f5351b67c8faf4cc
commit 4ecfb5b7292af4baf0a2f199f5351b67c8faf4cc
Author: Corinna Vinschen <corinna@vinschen.de>
AuthorDate: Mon Jan 15 11:03:48 2024 +0100
Commit: Corinna Vinschen <corinna@vinschen.de>
CommitDate: Mon Jan 15 11:04:29 2024 +0100
Cygwin: api docs: add missing fallocate
Also add notes in terms of fallocate quirks.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diff:
---
winsup/doc/posix.xml | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/winsup/doc/posix.xml b/winsup/doc/posix.xml
index 151aeb9fee2b..1a4eee1ab1b8 100644
--- a/winsup/doc/posix.xml
+++ b/winsup/doc/posix.xml
@@ -1314,6 +1314,7 @@ also IEEE Std 1003.1-2017 (POSIX.1-2017).</para>
exp10
exp10f
exp10l
+ fallocate (see <xref linkend="std-notes">chapter "Implementation Notes"</xref>)
fcloseall
fcloseall_r
fedisableexcept
@@ -1755,6 +1756,14 @@ RLIMIT_CORE and RLIMIT_STACK return the current values and set the requested
values.
All other resource arguments return -1 and set EINVAL.</para>
+<para><function>fallocate</function> has a few Windows quirks: The
+FALLOC_FL_ZERO_RANGE operation is NOT atomic. With flags set to 0 and
+FALLOC_FL_KEEP_SIZE, sparse blocks in the given range are re-allocated
+as per the POSIX requirements. This re-allocation operation isn't
+atomic either. Over-allocation with FALLOC_FL_KEEP_SIZE is only
+temporary on Windows until the last handle to the file is closed.
+Over-allocation on sparse files is entirely ignored on Windows.</para>
+
</sect1>
</chapter>
More information about the Cygwin-cvs
mailing list