Commit 86a761f8 authored by Pavel Begunkov's avatar Pavel Begunkov Committed by Jens Axboe
Browse files

io_uring: honor IOSQE_ASYNC for linked reqs



REQ_F_FORCE_ASYNC is checked only for the head of a link. Fix it.

Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 1118591a
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -4512,6 +4512,7 @@ again:
	 */
	if (ret == -EAGAIN && (!(req->flags & REQ_F_NOWAIT) ||
	    (req->flags & REQ_F_MUST_PUNT))) {
punt:
		if (req->work.flags & IO_WQ_WORK_NEEDS_FILES) {
			ret = io_grab_files(req);
			if (ret)
@@ -4547,6 +4548,9 @@ done_req:
	if (nxt) {
		req = nxt;
		nxt = NULL;

		if (req->flags & REQ_F_FORCE_ASYNC)
			goto punt;
		goto again;
	}
}