From ba20317d8368b018aeac257460692667a61fba63 Mon Sep 17 00:00:00 2001 From: asomers Date: Fri, 14 Jun 2019 20:35:37 +0000 Subject: [PATCH] open(2): fix the description of O_FSYNC The man page claims that with O_FSYNC (aka O_SYNC) the kernel will not cache written data. However, that's not true. Nor does POSIX require it. Perhaps it was true when that section of the man page was written in r69336 (I haven't checked). But it's not true now. Now the effect is simply that writes are sent to disk immediately and synchronously, but they're still cached. See also: https://pubs.opengroup.org/onlinepubs/9699919799/ See also: ffs_write in sys/ufs/ffs/ffs_vnops.c Reviewed by: cem MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D20641 --- lib/libc/sys/open.2 | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/lib/libc/sys/open.2 b/lib/libc/sys/open.2 index 012e0afd23d..a876cccb84b 100644 --- a/lib/libc/sys/open.2 +++ b/lib/libc/sys/open.2 @@ -28,7 +28,7 @@ .\" @(#)open.2 8.2 (Berkeley) 11/16/93 .\" $FreeBSD$ .\" -.Dd November 11, 2018 +.Dd June 14, 2019 .Dt OPEN 2 .Os .Sh NAME @@ -224,10 +224,7 @@ The descriptor remains in non-blocking mode for subsequent operations. If .Dv O_FSYNC is used in the mask, all writes will -immediately be written to disk, -the kernel will not cache written data -and all writes on the descriptor will not return until -the data to be written completes. +immediately and synchronously be written to disk. .Pp .Dv O_SYNC is a synonym for -- 2.45.0