io_uring: short circuit -EAGAIN for blocking read attempt
authorJens Axboe <axboe@kernel.dk>
Sat, 15 Aug 2020 22:58:42 +0000 (15:58 -0700)
committerJens Axboe <axboe@kernel.dk>
Sat, 15 Aug 2020 22:58:42 +0000 (15:58 -0700)
commitf91daf565b0e272a33bd3fcd19eaebd331c5cffd
treeebb9688b7038d2ec980ab1d3bbc798b874033406
parentd4e7cd36a90e38e0276d6ce0c20f5ccef17ec38c
io_uring: short circuit -EAGAIN for blocking read attempt

One case was missed in the short IO retry handling, and that's hitting
-EAGAIN on a blocking attempt read (eg from io-wq context). This is a
problem on sockets that are marked as non-blocking when created, they
don't carry any REQ_F_NOWAIT information to help us terminate them
instead of perpetually retrying.

Fixes: 227c0c9673d8 ("io_uring: internally retry short reads")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
fs/io_uring.c