]> git.baikalelectronics.ru Git - kernel.git/commit
io_uring: process requests completed with -EAGAIN on poll list
authorBijan Mottahedeh <bijan.mottahedeh@oracle.com>
Fri, 3 Apr 2020 20:51:33 +0000 (13:51 -0700)
committerJens Axboe <axboe@kernel.dk>
Fri, 3 Apr 2020 20:55:39 +0000 (14:55 -0600)
commit0e29612a59f2fe9f8f4d23db992df921e1f7f20c
tree6025e4ec59cc494b03333ab11c73224c6f26624f
parent4bea2adc406b9b720b57ad3febd38be9603842dc
io_uring: process requests completed with -EAGAIN on poll list

A request that completes with an -EAGAIN result after it has been added
to the poll list, will not be removed from that list in io_do_iopoll()
because the f_op->iopoll() will not succeed for that request.

Maintain a retryable local list similar to the done list, and explicity
reissue requests with an -EAGAIN result.

Signed-off-by: Bijan Mottahedeh <bijan.mottahedeh@oracle.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c