From 4ecfb5b7292af4baf0a2f199f5351b67c8faf4cc Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Mon, 15 Jan 2024 11:03:48 +0100 Subject: Cygwin: api docs: add missing fallocate Also add notes in terms of fallocate quirks. Signed-off-by: Corinna Vinschen --- winsup/doc/posix.xml | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'winsup') diff --git a/winsup/doc/posix.xml b/winsup/doc/posix.xml index 151aeb9fe..1a4eee1ab 100644 --- a/winsup/doc/posix.xml +++ b/winsup/doc/posix.xml @@ -1314,6 +1314,7 @@ also IEEE Std 1003.1-2017 (POSIX.1-2017). exp10 exp10f exp10l + fallocate (see chapter "Implementation Notes") 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. +fallocate 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. + -- cgit v1.2.3