]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
doc: cephfs: add section on fsync error reporting to posix.rst
authorJeff Layton <jlayton@redhat.com>
Wed, 29 May 2019 18:35:11 +0000 (14:35 -0400)
committerJeff Layton <jlayton@redhat.com>
Wed, 29 May 2019 18:47:28 +0000 (14:47 -0400)
Fixes: http://tracker.ceph.com/issues/24641
Signed-off-by: Jeff Layton <jlayton@redhat.com>
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.