[RFC man-pages PATCH] sync.2: add details about new syncfs() behavior
From: Jeff Layton <jlayton@kernel.org>
Date: 2020-04-20 17:30:34
Also in:
linux-man, lkml
Subsystem:
the rest · Maintainer:
Linus Torvalds
syncfs() now also returns errors if writeback fails.
Signed-off-by: Jeff Layton <jlayton@kernel.org>
---
man2/sync.2 | 24 +++++++++++++++++++++++-
1 file changed, 23 insertions(+), 1 deletion(-)
This patch shouldn't be merged until the relevant kernel patch series
has been merge. I'm hoping to get this into v5.8:
[PATCH v6 0/2] vfs: have syncfs() return error when there are writeback errors
diff --git a/man2/sync.2 b/man2/sync.2
index 7198f3311b05..a025080713ed 100644
--- a/man2/sync.2
+++ b/man2/sync.2@@ -86,11 +86,26 @@ to indicate the error. is always successful. .PP .BR syncfs () -can fail for at least the following reason: +can fail for at least the following reasons: .TP .B EBADF .I fd is not a valid file descriptor. +.TP +.B EIO +An error occurred during synchronization. +This error may relate to data written to any file on the filesystem, or on +metadata related to the filesytem itself. +.TP +.B ENOSPC +Disk space was exhausted while synchronizing. +.TP +.BR ENOSPC ", " EDQUOT +Data was written to a files on NFS or another filesystem which does not +allocate space at the time of a +.BR write (2) +system call, and some previous write failed due to insufficient +storage space. .SH VERSIONS .BR syncfs () first appeared in Linux 2.6.39;
@@ -121,6 +136,13 @@ or .BR syncfs () provide the same guarantees as fsync called on every file in the system or filesystem respectively. +.PP +In mainline kernel versions prior to 5.8, +.\" commit <<< TBD >>> +.BR syncfs () +will only fail with EBADF when passed a bad file descriptor. In 5.8 +and later kernels, it will also report an error if one or more inodes failed +to be written back since the last syncfs call. .SH BUGS Before version 1.3.20 Linux did not wait for I/O to complete before returning.
--
2.25.3