]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
doc: cephfs: add section on fsync error reporting to posix.rst 30025/head
authorJeff Layton <jlayton@redhat.com>
Wed, 29 May 2019 18:35:11 +0000 (14:35 -0400)
committerNathan Cutler <ncutler@suse.com>
Fri, 30 Aug 2019 08:06:32 +0000 (10:06 +0200)
Fixes: http://tracker.ceph.com/issues/24641
Signed-off-by: Jeff Layton <jlayton@redhat.com>
(cherry picked from commit b52d85c2a71950db222e3649d5265e5891368ba1)

doc/cephfs/posix.rst

index 3cd59ec575bcfe2154a1e7849a0db1741ba146ab..23531693f6fed1a9d34c6c3dc286fdc0c78250f3 100644 (file)
@@ -80,3 +80,22 @@ than NFS when it comes to write atomicity.
 In other words, when it comes to POSIX, ::
 
   HDFS < NFS < CephFS < {XFS, ext4}
+
+
+fsync() and error reporting
+---------------------------
+
+POSIX is somewhat vague about the state of an inode after fsync reports
+an error. In general, CephFS uses the standard error-reporting
+mechanisms in the client's kernel, and therefore follows the same
+conventions as other filesystems.
+
+In modern Linux kernels (v4.17 or later), writeback errors are reported
+once to every file description that is open at the time of the error. In
+addition, unreported errors that occured before the file description was
+opened will also be returned on fsync.
+
+See `PostgreSQL's summary of fsync() error reporting across operating systems
+<https://wiki.postgresql.org/wiki/Fsync_Errors>` and `Matthew Wilcox's
+presentation on Linux IO error handling
+<https://www.youtube.com/watch?v=74c19hwY2oE>` for more information.