From: Will Manley <will@xxxxxxxxxxxxxxxxx> To save the next person before they fall foul of it. See <https://lore.kernel.org/linux-fsdevel/fea8b16d-5a69-40f9-b123-e84dcd6e8f2e@xxxxxxxxxxxxxxxx/T/#u> and <https://github.com/tokio-rs/tokio/issues/3803> for more information. Signed-off-by: Will Manley <will@xxxxxxxxxxxxxxxxx> Signed-off-by: Alejandro Colomar <alx.manpages@xxxxxxxxx> --- man2/readv.2 | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/man2/readv.2 b/man2/readv.2 index df42cf830..3355fa9d7 100644 --- a/man2/readv.2 +++ b/man2/readv.2 @@ -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@xxxxxxxxxxxxxxxx/T/#u .SH SEE ALSO .BR pread (2), .BR read (2), -- 2.32.0