From f2ec5c2b1a4a3a2979e8e99f4b217a2858d42a6f Mon Sep 17 00:00:00 2001 From: Will Manley Date: Wed, 28 Jul 2021 22:19:37 +0200 Subject: [PATCH] readv2: Note preadv2(..., RWF_NOWAIT) bug in BUGS section To save the next person before they fall foul of it. See and for more information. Signed-off-by: Will Manley Signed-off-by: Alejandro Colomar Signed-off-by: Michael Kerrisk --- 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@www.fastmail.com/T/#u .SH SEE ALSO .BR pread (2), .BR read (2),