io_uring: for requests that require async, force it
authorDylan Yudaken <dylany@meta.com>
Fri, 27 Jan 2023 13:52:25 +0000 (05:52 -0800)
committerJens Axboe <axboe@kernel.dk>
Sun, 29 Jan 2023 22:18:26 +0000 (15:18 -0700)
commitaebb224fd4fc7352cd839ad90414c548387142fd
tree8f209de8d9e8eec51774f27764dd5229d0a2d463
parent6bb30855560e6343e7b88595d7c3159d0f848a04
io_uring: for requests that require async, force it

Some requests require being run async as they do not support
non-blocking. Instead of trying to issue these requests, getting -EAGAIN
and then queueing them for async issue, rather just force async upfront.

Add WARN_ON_ONCE to make sure surprising code paths do not come up,
however in those cases the bug would end up being a blocking
io_uring_enter(2) which should not be critical.

Signed-off-by: Dylan Yudaken <dylany@meta.com>
Link: https://lore.kernel.org/r/20230127135227.3646353-3-dylany@meta.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/advise.c
io_uring/fs.c
io_uring/net.c
io_uring/splice.c
io_uring/statx.c
io_uring/sync.c
io_uring/xattr.c