On Mon, Jul 11, 2022 at 05:12:23PM +0200, Stefan Metzmacher wrote: >Hi Sagi, > >>>@@ -189,6 +190,12 @@ enum { >>>      NVME_REQ_USERCMD        = (1 << 1), >>>  }; >>>+static inline struct nvme_uring_cmd_pdu *nvme_uring_cmd_pdu( >>>+        struct io_uring_cmd *ioucmd) >>>+{ > >Shouldn't we have a BUILD_BUG_ON(sizeof(struct nvme_uring_cmd_pdu) > sizeof(ioucmd->pdu)); >here? Not sure if I got the concern. We have this already inside nvme_ns_uring_cmd function. >>>+    return (struct nvme_uring_cmd_pdu *)&ioucmd->pdu; >>>+} >>>+ > >>>diff --git a/include/linux/io_uring.h b/include/linux/io_uring.h >>>index d734599cbcd7..57f4dfc83316 100644 >>>--- a/include/linux/io_uring.h >>>+++ b/include/linux/io_uring.h >>>@@ -15,6 +15,8 @@ enum io_uring_cmd_flags { >>>      IO_URING_F_SQE128        = 4, >>>      IO_URING_F_CQE32        = 8, >>>      IO_URING_F_IOPOLL        = 16, >>>+    /* to indicate that it is a MPATH req*/ >>>+    IO_URING_F_MPATH        = 32, > >Isn't that nvme specific? If so I don't think it belongs in io_uring.h at all... Right. Removing this was bit ugly in nvme, but yes, need to kill this in v2.