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

io_uring: always clear LINK_TIMEOUT after cancel



Move REQ_F_LINK_TIMEOUT clearing out of __io_kill_linked_timeout()
because it might return early and leave the flag set. It's not a
problem, but may be confusing.

Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent ac877d2e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -1881,7 +1881,6 @@ static bool __io_kill_linked_timeout(struct io_kiocb *req)

	list_del_init(&link->link_list);
	wake_ev = io_link_cancel_timeout(link);
	req->flags &= ~REQ_F_LINK_TIMEOUT;
	return wake_ev;
}

@@ -1893,6 +1892,7 @@ static void io_kill_linked_timeout(struct io_kiocb *req)

	spin_lock_irqsave(&ctx->completion_lock, flags);
	wake_ev = __io_kill_linked_timeout(req);
	req->flags &= ~REQ_F_LINK_TIMEOUT;
	spin_unlock_irqrestore(&ctx->completion_lock, flags);

	if (wake_ev)