io_uring: treat -EAGAIN for REQ_F_NOWAIT as final for io-wq
authorJens Axboe <axboe@kernel.dk>
Thu, 20 Jul 2023 19:16:53 +0000 (13:16 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 Jul 2023 06:50:23 +0000 (08:50 +0200)
commit1b87f546a035bd8b2b4c73cb346344af542d8663
treeb1bb2493f11df2f2473d7413ce7e35ace85f8b7f
parent5302e81aa2091d7dd59803f0727d1ba35ed2f929
io_uring: treat -EAGAIN for REQ_F_NOWAIT as final for io-wq

commit a9be202269580ca611c6cebac90eaf1795497800 upstream.

io-wq assumes that an issue is blocking, but it may not be if the
request type has asked for a non-blocking attempt. If we get
-EAGAIN for that case, then we need to treat it as a final result
and not retry or arm poll for it.

Cc: stable@vger.kernel.org # 5.10+
Link: https://github.com/axboe/liburing/issues/897
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
io_uring/io_uring.c