Re: Linux 5.19-rc7 liburing test `poll-mshot-overflow.t` and `read-write.t` fail

From: Ammar Faizi
Date: Thu Jul 21 2022 - 09:09:32 EST


On 7/21/22 7:05 PM, Dylan Yudaken wrote:
It seems to be a problem with blocking reads, buffer select and READV.
My guess is that ext4/xfs are not blocking.

in b66e65f41426 ("io_uring: never call io_buffer_select() for a buffer
re-select"), this line was added in __io_iov_buffer_select

- iov[0].iov_len = len;
+ req->rw.len = iov[0].iov_len = len;

Basically stashing the buffer length in rw.len. The problem is that the
next time around that breaks at

if (req->rw.len != 1)
return -EINVAL;


The below fixes it as an example, but it's not great. Maybe someone can
figure out a better patch? Otherwise I can try tomorrow:

It's 8:05 PM from my end. I'll try to play with your patch after dinner
while waiting for others say something.

--
Ammar Faizi