提交 97b388d7 编写于 作者: J Jens Axboe

io_uring: handle completions in the core

Normally request handlers complete requests themselves, if they don't
return an error. For the latter case, the core will complete it for
them.

This is unhandy for pushing opcode handlers further out, as we don't
want a bunch of inline completion code and we don't want to make the
completion path slower than it is now.

Let the core handle any completion, unless the handler explicitly
asks us not to.
Signed-off-by: NJens Axboe <axboe@kernel.dk>
上级 de23077e
此差异已折叠。
...@@ -4,6 +4,11 @@ ...@@ -4,6 +4,11 @@
#include <linux/errno.h> #include <linux/errno.h>
#include "io_uring_types.h" #include "io_uring_types.h"
enum {
IOU_OK = 0,
IOU_ISSUE_SKIP_COMPLETE = -EIOCBQUEUED,
};
static inline void io_req_set_res(struct io_kiocb *req, s32 res, u32 cflags) static inline void io_req_set_res(struct io_kiocb *req, s32 res, u32 cflags)
{ {
req->cqe.res = res; req->cqe.res = res;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册