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

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.com


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent a1fde923
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -3845,7 +3845,7 @@ static int io_openat2(struct io_kiocb *req, unsigned int issue_flags)
	req->flags &= ~REQ_F_NEED_CLEANUP;
	if (ret < 0)
		req_set_fail_links(req);
	io_req_complete(req, ret);
	__io_req_complete(req, issue_flags, ret, 0);
	return 0;
}

@@ -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);
	if (ret < 0)
		req_set_fail_links(req);
	io_req_complete(req, ret);
	__io_req_complete(req, issue_flags, ret, 0);
	return 0;
}

@@ -5319,7 +5319,7 @@ static int io_poll_remove(struct io_kiocb *req, unsigned int issue_flags)

	if (ret < 0)
		req_set_fail_links(req);
	io_req_complete(req, ret);
	__io_req_complete(req, issue_flags, ret, 0);
	return 0;
}