On Wed, Apr 19, 2023 at 03:29:29AM -0700, Breno Leitao wrote: > struct nvme_uring_cmd_pdu *pdu = nvme_uring_cmd_pdu(ioucmd); > - const struct nvme_uring_cmd *cmd = ioucmd->cmd; > + const struct nvme_uring_cmd *cmd = (struct nvme_uring_cmd *)ioucmd->sqe->cmd; Please don't add the pointless cast. And in general avoid the overly long lines. I suspect most other users should just also defined their structures const instead of adding all theses casts thare are a sign of problems, but that's a pre-existing issue. > struct io_uring_cmd *ioucmd = io_kiocb_to_cmd(req, struct io_uring_cmd); > - size_t cmd_size; > + size_t size = sizeof(struct io_uring_sqe); > > BUILD_BUG_ON(uring_cmd_pdu_size(0) != 16); > BUILD_BUG_ON(uring_cmd_pdu_size(1) != 80); > > - cmd_size = uring_cmd_pdu_size(req->ctx->flags & IORING_SETUP_SQE128); > + if (req->ctx->flags & IORING_SETUP_SQE128) > + size <<= 1; Why does this stop using uring_cmd_pdu_size()?