diff options
| author | Konstantin Belousov <kib@FreeBSD.org> | 2025-10-26 14:57:16 +0000 |
|---|---|---|
| committer | Konstantin Belousov <kib@FreeBSD.org> | 2025-10-31 14:42:18 +0000 |
| commit | c19f161f5f65d61c0152587000eff7cae9492843 (patch) | |
| tree | 77ab43c80a3c1b74cbdef75947f8142c40be3112 | |
| parent | a83f433a9d0ef5774e398cf3518834f47323ab2a (diff) | |
write.2: explain the atomicity guarantees of the writes
(cherry picked from commit 1c8d7bb4cf7a6b19262333b2a9b1dacf3094b938)
| -rw-r--r-- | lib/libc/sys/write.2 | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/libc/sys/write.2 b/lib/libc/sys/write.2 index adf60aa91d7a..2f0a9d034038 100644 --- a/lib/libc/sys/write.2 +++ b/lib/libc/sys/write.2 @@ -134,6 +134,26 @@ and may write fewer bytes than requested; the return value must be noted, and the remainder of the operation should be retried when possible. +.Sh ATOMICITY OF WRITES +When operating on regular files on local file systems, the effects of +.Fn write +are atomic. +As required by the POSIX standard, +the +.Fn read , +.Fn write , +and +.Fn ftruncate +functions and their variations are atomic with respect to +each other on the file data and metadata for regular files. +See for instance +.St -p1003.1-2024 +Volume 2, Section 2.9.7 for more information. +.Pp +.Fx +implements the requirement by taking +a read/write range lock on the file byte range +affected by the corresponding function. .Sh RETURN VALUES Upon successful completion the number of bytes which were written is returned. |
