aboutsummaryrefslogtreecommitdiffstats
path: root/man2/write.2
diff options
context:
space:
mode:
authorMichael Kerrisk <mtk.manpages@gmail.com>2015-05-11 15:13:56 +0200
committerMichael Kerrisk <mtk.manpages@gmail.com>2015-05-12 07:07:21 +0200
commit77548009f57a74740838bb2b3f4547ececdf0251 (patch)
tree4052fde89c6196aa2a6915df069e437bc2e4fade /man2/write.2
parent9a12dd5031ffb76626e0b8d60beee0637e8b5a6c (diff)
downloadman-pages-77548009f57a74740838bb2b3f4547ececdf0251.tar.gz
pread.2, read.2, readv.2, sendfile.2, write.2: Clarify that Linux limits transfers to a maximum of 0x7ffff000 bytes
See https://bugs.debian.org/629994 and https://bugs.debian.org/630029. Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
Diffstat (limited to 'man2/write.2')
-rw-r--r--man2/write.212
1 files changed, 12 insertions, 0 deletions
diff --git a/man2/write.2 b/man2/write.2
index 90ef9b5994..3e8c363ab9 100644
--- a/man2/write.2
+++ b/man2/write.2
@@ -89,6 +89,10 @@ Note that not all filesystems are POSIX conforming.
.SH RETURN VALUE
On success, the number of bytes written is returned (zero indicates
nothing was written).
+It is not an error if this number is smaller than the number of bytes
+requested; this may happen for example because the disk device was filled.
+See also NOTES.
+
On error, \-1 is returned, and \fIerrno\fP is set
appropriately.
@@ -217,6 +221,14 @@ then the call fails with the error
.BR EINTR ;
if it is interrupted after at least one byte has been written,
the call succeeds, and returns the number of bytes written.
+
+On Linux,
+.BR read ()
+(and similar system calls) will transfer at most
+0x7ffff000 (2,147,479,552) bytes,
+returning the number of bytes actually transferred.
+.\" commit e28cc71572da38a5a12c1cfe4d7032017adccf69
+(This is true on both 32-bit and 64-bit systems.)
.SH BUGS
According to POSIX.1-2008/SUSv4 Section XSI 2.9.7
("Thread Interactions with Regular File Operations"):