Since Issue 3 (original release), fsync() was required to operate on all valid fds. Since Issue 7 2018, fdatasync() is as well (and required writability only by editorial mistake): https://www.austingroupbugs.net/view.php?id=501 "Some UNIXes require the fd to be writable" is a needlessly-adversarial-to-the-user ‒ https://101010.pl/@eater@cijber.social/110824211348995583 ‒ way of saying "HP-UX and AIX have always been broken": just say that. Originally appeared in 4.2BSD (4.1c.2BSD) so touch that as well since we're mentioning the original interface. Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@xxxxxxxxxxxxxxxxxx> --- man2/fsync.2 | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/man2/fsync.2 b/man2/fsync.2 index 1043e6a1b..036af0a9e 100644 --- a/man2/fsync.2 +++ b/man2/fsync.2 @@ -155,16 +155,10 @@ .SH VERSIONS .\" POSIX.1-2001: It shall be defined to -1 or 0 or 200112L. .\" -1: unavailable, 0: ask using sysconf(). .\" glibc defines them to 1. -.PP -On some UNIX systems (but not Linux), -.I fd -must be a -.I writable -file descriptor. .SH STANDARDS POSIX.1-2008. .SH HISTORY -POSIX.1-2001, 4.3BSD. +POSIX.1-2001, 4.2BSD. .PP In Linux 2.2 and earlier, .BR fdatasync () @@ -181,6 +175,13 @@ .SH HISTORY or .BR sdparm (8) to guarantee safe operation. +.PP +Under AT&T UNIX System V Release 4 +.I fd +needs to be opened for writing. +This is by itself incompatible with the original BSD interface +and forbidden by POSIX, +but nevertheless survives in HP-UX and AIX. .SH SEE ALSO .BR sync (1), .BR bdflush (2), -- 2.39.2
Attachment:
signature.asc
Description: PGP signature