Commit 0bdf3398 authored by Pavel Begunkov's avatar Pavel Begunkov Committed by Jens Axboe

io_uring: enable inline completion for more cases

Take advantage of delayed/inline completion flushing and pass right
issue flags for completion of open, open2, fadvise and poll remove
opcodes. All others either already use it or always punted and never
executed inline.
Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
Link: https://lore.kernel.org/r/0badc7512e82f7350b73bb09abbebbecbdd5dab8.1618101759.git.asml.silence@gmail.comSigned-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent a1fde923
...@@ -3845,7 +3845,7 @@ static int io_openat2(struct io_kiocb *req, unsigned int issue_flags) ...@@ -3845,7 +3845,7 @@ static int io_openat2(struct io_kiocb *req, unsigned int issue_flags)
req->flags &= ~REQ_F_NEED_CLEANUP; req->flags &= ~REQ_F_NEED_CLEANUP;
if (ret < 0) if (ret < 0)
req_set_fail_links(req); req_set_fail_links(req);
io_req_complete(req, ret); __io_req_complete(req, issue_flags, ret, 0);
return 0; return 0;
} }
...@@ -4123,7 +4123,7 @@ static int io_fadvise(struct io_kiocb *req, unsigned int issue_flags) ...@@ -4123,7 +4123,7 @@ static int io_fadvise(struct io_kiocb *req, unsigned int issue_flags)
ret = vfs_fadvise(req->file, fa->offset, fa->len, fa->advice); ret = vfs_fadvise(req->file, fa->offset, fa->len, fa->advice);
if (ret < 0) if (ret < 0)
req_set_fail_links(req); req_set_fail_links(req);
io_req_complete(req, ret); __io_req_complete(req, issue_flags, ret, 0);
return 0; return 0;
} }
...@@ -5319,7 +5319,7 @@ static int io_poll_remove(struct io_kiocb *req, unsigned int issue_flags) ...@@ -5319,7 +5319,7 @@ static int io_poll_remove(struct io_kiocb *req, unsigned int issue_flags)
if (ret < 0) if (ret < 0)
req_set_fail_links(req); req_set_fail_links(req);
io_req_complete(req, ret); __io_req_complete(req, issue_flags, ret, 0);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment