readv2: Note preadv2(..., RWF_NOWAIT) bug in BUGS section

To save the next person before they fall foul of it.  See
<https://lore.kernel.org/linux-fsdevel/fea8b16d-5a69-40f9-b123-e84dcd6e8f2e@www.fastmail.com/T/#u>
and <https://github.com/tokio-rs/tokio/issues/3803> for more information.

Signed-off-by: Will Manley <will@williammanley.net>
Signed-off-by: Alejandro Colomar <alx.manpages@gmail.com>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
Will Manley 2021-07-28 22:19:37 +02:00 committed by Michael Kerrisk
parent ae5cc0dc57
commit f2ec5c2b1a
1 changed files with 10 additions and 1 deletions

View File

@ -243,7 +243,9 @@ If some data was successfully read, it will return the number of bytes read.
If no bytes were read, it will return \-1 and set
.IR errno
to
.BR EAGAIN .
.BR EAGAIN
(but see
.BR BUGS ")."
Currently, this flag is meaningful only for
.BR preadv2 ().
.TP
@ -425,6 +427,13 @@ iov[1].iov_len = strlen(str1);
nwritten = writev(STDOUT_FILENO, iov, 2);
.EE
.in
.SH BUGS
Linux v5.9 and v5.10 have a bug where
.BR preadv2()
with the
.BR RWF_NOWAIT
flag may return 0 even when not at end of file. See
https://lore.kernel.org/linux-fsdevel/fea8b16d-5a69-40f9-b123-e84dcd6e8f2e@www.fastmail.com/T/#u
.SH SEE ALSO
.BR pread (2),
.BR read (2),