aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGoldwyn Rodrigues <rgoldwyn@suse.de>2018-05-21 06:32:31 -0500
committerMichael Kerrisk <mtk.manpages@gmail.com>2018-05-28 11:34:34 +0200
commitebf120124b6e3785a8975c9116b4e0eebde6388a (patch)
tree00a36ed51f3b20a1a296569c3d5e2296ef2e1d1c
parent0201f4824643fc105b93045a06dd4cbd3be720b8 (diff)
downloadman-pages-ebf120124b6e3785a8975c9116b4e0eebde6388a.tar.gz
write.2: Partial direct I/O writes
Direct writes can perform partial writes because large writes can be broken into smaller chunks by the block layer. Part of the I/O submitted can fail and the failure is returned to write as an error in the return value. However, part of the write can be successful which means that data at the offset is inconsistent. Signed-off-by: Goldwyn Rodrigues <rgoldwyn@suse.com> Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
-rw-r--r--man2/write.28
1 files changed, 8 insertions, 0 deletions
diff --git a/man2/write.2 b/man2/write.2
index f8a94f3ffc..d6e14aaf0a 100644
--- a/man2/write.2
+++ b/man2/write.2
@@ -274,6 +274,14 @@ On Linux,
returning the number of bytes actually transferred.
.\" commit e28cc71572da38a5a12c1cfe4d7032017adccf69
(This is true on both 32-bit and 64-bit systems.)
+.PP
+An error return value while performing
+.BR write()
+using direct I/O does not mean the
+entire write has failed. Partial data may be written
+and the data at the file offset on which the
+.BR write()
+was attempted should be considered inconsistent.
.SH BUGS
According to POSIX.1-2008/SUSv4 Section XSI 2.9.7
("Thread Interactions with Regular File Operations"):