Commit b36c7325 authored by Ming Lei's avatar Ming Lei Committed by Jens Axboe
Browse files

selftests: ublk: remove `tag` parameter of ->tgt_io_done()



The `tag` parameter can be figured out from cqe->user_data, and that is
also the only way to get the info, so remove `tag` parameter, and
let target code retrieve it from cqe->user_data.

Signed-off-by: default avatarMing Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20250713143415.2857561-12-ming.lei@redhat.com


Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
parent ef92541d
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -55,9 +55,10 @@ static int ublk_fault_inject_queue_io(struct ublk_queue *q, int tag)
	return 0;
}

static void ublk_fault_inject_tgt_io_done(struct ublk_queue *q, int tag,
static void ublk_fault_inject_tgt_io_done(struct ublk_queue *q,
					  const struct io_uring_cqe *cqe)
{
	unsigned tag = user_data_to_tag(cqe->user_data);
	const struct ublksrv_io_desc *iod = ublk_get_iod(q, tag);

	if (cqe->res != -ETIME)
+2 −1
Original line number Diff line number Diff line
@@ -108,9 +108,10 @@ static int ublk_loop_queue_io(struct ublk_queue *q, int tag)
	return 0;
}

static void ublk_loop_io_done(struct ublk_queue *q, int tag,
static void ublk_loop_io_done(struct ublk_queue *q,
		const struct io_uring_cqe *cqe)
{
	unsigned tag = user_data_to_tag(cqe->user_data);
	unsigned op = user_data_to_op(cqe->user_data);
	struct ublk_io *io = ublk_get_io(q, tag);

+1 −3
Original line number Diff line number Diff line
@@ -717,8 +717,6 @@ static int ublk_thread_is_done(struct ublk_thread *t)
static inline void ublksrv_handle_tgt_cqe(struct ublk_queue *q,
		struct io_uring_cqe *cqe)
{
	unsigned tag = user_data_to_tag(cqe->user_data);

	if (cqe->res < 0 && cqe->res != -EAGAIN)
		ublk_err("%s: failed tgt io: res %d qid %u tag %u, cmd_op %u\n",
			__func__, cqe->res, q->q_id,
@@ -726,7 +724,7 @@ static inline void ublksrv_handle_tgt_cqe(struct ublk_queue *q,
			user_data_to_op(cqe->user_data));

	if (q->tgt_ops->tgt_io_done)
		q->tgt_ops->tgt_io_done(q, tag, cqe);
		q->tgt_ops->tgt_io_done(q, cqe);
}

static void ublk_handle_cqe(struct ublk_thread *t,
+1 −2
Original line number Diff line number Diff line
@@ -145,8 +145,7 @@ struct ublk_tgt_ops {
	void (*deinit_tgt)(struct ublk_dev *);

	int (*queue_io)(struct ublk_queue *, int tag);
	void (*tgt_io_done)(struct ublk_queue *,
			int tag, const struct io_uring_cqe *);
	void (*tgt_io_done)(struct ublk_queue *, const struct io_uring_cqe *);

	/*
	 * Target specific command line handling
+2 −1
Original line number Diff line number Diff line
@@ -87,9 +87,10 @@ static int null_queue_auto_zc_io(struct ublk_queue *q, int tag)
	return 1;
}

static void ublk_null_io_done(struct ublk_queue *q, int tag,
static void ublk_null_io_done(struct ublk_queue *q,
		const struct io_uring_cqe *cqe)
{
	unsigned tag = user_data_to_tag(cqe->user_data);
	unsigned op = user_data_to_op(cqe->user_data);
	struct ublk_io *io = ublk_get_io(q, tag);

Loading