[RFC PATCH 3/9] ublk_drv: add a helper to get ioucmd from pdu

ZiyangZhang
2022-08-24T05:49:08Z

We store pointer of task_work in pdu. And we should get ioucmd from pdu
since we prepare to only pass ioucmd to task_work function.

Signed-off-by: ZiyangZhang <ZiyangZhang@linux.alibaba.com>
---
drivers/block/ublk_drv.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/drivers/block/ublk_drv.c b/drivers/block/ublk_drv.c
index e08f636b0b9d..8add6e3ae15f 100644
--- a/drivers/block/ublk_drv.c
+++ b/drivers/block/ublk_drv.c
@@ -555,6 +555,12 @@ static inline struct ublk_uring_cmd_pdu *ublk_get_uring_cmd_pdu(
return (struct ublk_uring_cmd_pdu *)&ioucmd->pdu;
}

+static inline struct io_uring_cmd *ublk_uring_cmd_from_pdu(
+ struct ublk_uring_cmd_pdu *pdu)
+{
+ return container_of((u8 *)pdu, struct io_uring_cmd, pdu[0]);
+}
+
static inline bool ubq_daemon_is_dying(struct ublk_queue *ubq)
{
return ubq->ubq_daemon->flags & PF_EXITING;
--
2.27.0