diff options
author | Dylan Yudaken <dylany@meta.com> | 2022-11-24 10:35:53 +0100 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2022-11-25 14:10:04 +0100 |
commit | 973fc83f3a94bdffcacf482641db38f57c7c8609 (patch) | |
tree | 8c186021f141d1325b128c354166f441578e4d63 /io_uring/io_uring.h | |
parent | io_uring: always lock in io_apoll_task_func (diff) | |
download | linux-973fc83f3a94bdffcacf482641db38f57c7c8609.tar.xz linux-973fc83f3a94bdffcacf482641db38f57c7c8609.zip |
io_uring: defer all io_req_complete_failed
All failures happen under lock now, and can be deferred. To be consistent
when the failure has happened after some multishot cqe has been
deferred (and keep ordering), always defer failures.
To make this obvious at the caller (and to help prevent a future bug)
rename io_req_complete_failed to io_req_defer_failed.
Signed-off-by: Dylan Yudaken <dylany@meta.com>
Link: https://lore.kernel.org/r/20221124093559.3780686-4-dylany@meta.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'io_uring/io_uring.h')
-rw-r--r-- | io_uring/io_uring.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/io_uring/io_uring.h b/io_uring/io_uring.h index b5b80bf03385..a26d5aa7f3f3 100644 --- a/io_uring/io_uring.h +++ b/io_uring/io_uring.h @@ -30,7 +30,7 @@ bool io_req_cqe_overflow(struct io_kiocb *req); int io_run_task_work_sig(struct io_ring_ctx *ctx); int __io_run_local_work(struct io_ring_ctx *ctx, bool *locked); int io_run_local_work(struct io_ring_ctx *ctx); -void io_req_complete_failed(struct io_kiocb *req, s32 res); +void io_req_defer_failed(struct io_kiocb *req, s32 res); void io_req_complete_post(struct io_kiocb *req, unsigned issue_flags); bool io_post_aux_cqe(struct io_ring_ctx *ctx, u64 user_data, s32 res, u32 cflags, bool allow_overflow); |