diff options
author | Ming Lei <ming.lei@redhat.com> | 2025-07-13 22:34:06 +0800 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2025-07-15 08:04:17 -0600 |
commit | b36c73251aaec6c9941b5493637a9007d0a56616 (patch) | |
tree | e10e324a3e2d8a5301fe8b6e9ca7d4c5d3266894 | |
parent | ef92541d99c1c1319e5254d5f5380959962abb87 (diff) |
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: Ming Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20250713143415.2857561-12-ming.lei@redhat.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r-- | tools/testing/selftests/ublk/fault_inject.c | 3 | ||||
-rw-r--r-- | tools/testing/selftests/ublk/file_backed.c | 3 | ||||
-rw-r--r-- | tools/testing/selftests/ublk/kublk.c | 4 | ||||
-rw-r--r-- | tools/testing/selftests/ublk/kublk.h | 3 | ||||
-rw-r--r-- | tools/testing/selftests/ublk/null.c | 3 | ||||
-rw-r--r-- | tools/testing/selftests/ublk/stripe.c | 3 |
6 files changed, 10 insertions, 9 deletions
diff --git a/tools/testing/selftests/ublk/fault_inject.c b/tools/testing/selftests/ublk/fault_inject.c index 6e60f7d97125..c980958ec045 100644 --- a/tools/testing/selftests/ublk/fault_inject.c +++ b/tools/testing/selftests/ublk/fault_inject.c @@ -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) diff --git a/tools/testing/selftests/ublk/file_backed.c b/tools/testing/selftests/ublk/file_backed.c index cfa59b631693..02fb8a411d3b 100644 --- a/tools/testing/selftests/ublk/file_backed.c +++ b/tools/testing/selftests/ublk/file_backed.c @@ -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); diff --git a/tools/testing/selftests/ublk/kublk.c b/tools/testing/selftests/ublk/kublk.c index e2d2042810d4..fba4e80e9bab 100644 --- a/tools/testing/selftests/ublk/kublk.c +++ b/tools/testing/selftests/ublk/kublk.c @@ -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, diff --git a/tools/testing/selftests/ublk/kublk.h b/tools/testing/selftests/ublk/kublk.h index 6be601536b3d..d7b711e63822 100644 --- a/tools/testing/selftests/ublk/kublk.h +++ b/tools/testing/selftests/ublk/kublk.h @@ -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 diff --git a/tools/testing/selftests/ublk/null.c b/tools/testing/selftests/ublk/null.c index afe0b99d77ee..ea3da53437e9 100644 --- a/tools/testing/selftests/ublk/null.c +++ b/tools/testing/selftests/ublk/null.c @@ -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); diff --git a/tools/testing/selftests/ublk/stripe.c b/tools/testing/selftests/ublk/stripe.c index 37d50bbf5f5e..53cefffaf32e 100644 --- a/tools/testing/selftests/ublk/stripe.c +++ b/tools/testing/selftests/ublk/stripe.c @@ -226,9 +226,10 @@ static int ublk_stripe_queue_io(struct ublk_queue *q, int tag) return 0; } -static void ublk_stripe_io_done(struct ublk_queue *q, int tag, +static void ublk_stripe_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); unsigned op = user_data_to_op(cqe->user_data); struct ublk_io *io = ublk_get_io(q, tag); |