Commit 1575f21a authored by Jens Axboe's avatar Jens Axboe
Browse files

io_uring: kill unnecessary REQ_F_WORK_INITIALIZED checks



We're no longer checking anything that requires the work item to be
initialized, as we're not carrying any file related state there.

Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 4010fec4
Loading
Loading
Loading
Loading
+1 −11
Original line number Diff line number Diff line
@@ -1080,8 +1080,6 @@ static bool io_match_task(struct io_kiocb *head,
		return true;

	io_for_each_link(req, head) {
		if (!(req->flags & REQ_F_WORK_INITIALIZED))
			continue;
		if (req->file && req->file->f_op == &io_uring_fops)
			return true;
		if (req->task->files == files)
@@ -1800,15 +1798,7 @@ static void io_fail_links(struct io_kiocb *req)
		trace_io_uring_fail_link(req, link);
		io_cqring_fill_event(link, -ECANCELED);

		/*
		 * It's ok to free under spinlock as they're not linked anymore,
		 * but avoid REQ_F_WORK_INITIALIZED because it may deadlock on
		 * work.fs->lock.
		 */
		if (link->flags & REQ_F_WORK_INITIALIZED)
		io_put_req_deferred(link, 2);
		else
			io_double_put_req(link);
		link = nxt;
	}
	io_commit_cqring(ctx);