[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