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

io_uring: remove io_prep_next_work()



io-wq cares about IO_WQ_WORK_UNBOUND flag only while enqueueing, so
it's useless setting it for a next req of a link. Thus, removed it
from io_prep_linked_timeout(), and inline the function.

Signed-off-by: default avatarPavel Begunkov <asml.silence@gmail.com>
Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent 4bc4494e
Loading
Loading
Loading
Loading
+1 −12
Original line number Diff line number Diff line
@@ -999,17 +999,6 @@ static inline void io_req_work_drop_env(struct io_kiocb *req)
	}
}

static inline void io_prep_next_work(struct io_kiocb *req,
				     struct io_kiocb **link)
{
	const struct io_op_def *def = &io_op_defs[req->opcode];

	if (!(req->flags & REQ_F_ISREG) && def->unbound_nonreg_file)
		req->work.flags |= IO_WQ_WORK_UNBOUND;

	*link = io_prep_linked_timeout(req);
}

static inline bool io_prep_async_work(struct io_kiocb *req,
				      struct io_kiocb **link)
{
@@ -2581,8 +2570,8 @@ static void io_wq_assign_next(struct io_wq_work **workptr, struct io_kiocb *nxt)
{
	struct io_kiocb *link;

	io_prep_next_work(nxt, &link);
	*workptr = &nxt->work;
	link = io_prep_linked_timeout(nxt);
	if (link) {
		nxt->work.func = io_link_work_cb;
		nxt->work.data = link;