]> www.infradead.org Git - users/hch/block.git/commitdiff
remove nvme_setup_uring_cmd_data
authorChristoph Hellwig <hch@lst.de>
Fri, 6 May 2022 06:50:50 +0000 (08:50 +0200)
committerChristoph Hellwig <hch@lst.de>
Fri, 6 May 2022 06:58:25 +0000 (08:58 +0200)
drivers/nvme/host/ioctl.c

index 4a25e72f8524af3f17f714a54b02f61e5f782f6d..0e05ef556627e723ca109035a0e86b2359f28e16 100644 (file)
@@ -403,23 +403,10 @@ static void nvme_uring_cmd_end_io(struct request *req, blk_status_t err)
        io_uring_cmd_complete_in_task(ioucmd, nvme_uring_task_cb);
 }
 
-static void nvme_setup_uring_cmd_data(struct request *rq,
-               struct io_uring_cmd *ioucmd, void __user *meta_buffer,
-               u32 meta_len, void *meta)
-{
-       struct nvme_uring_cmd_pdu *pdu = nvme_uring_cmd_pdu(ioucmd);
-
-       /* to free bio on completion, as req->bio will be null at that time */
-       pdu->bio = rq->bio;
-       pdu->meta = meta;
-       pdu->meta_buffer = meta_buffer;
-       pdu->meta_len = meta_len;
-       rq->end_io_data = ioucmd;
-}
-
 static int nvme_uring_cmd_io(struct nvme_ctrl *ctrl, struct nvme_ns *ns,
                struct io_uring_cmd *ioucmd, unsigned int issue_flags)
 {
+       struct nvme_uring_cmd_pdu *pdu = nvme_uring_cmd_pdu(ioucmd);
        const struct nvme_uring_cmd *cmd = ioucmd->cmd;
        struct request_queue *q = ns ? ns->queue : ctrl->admin_q;
        struct nvme_uring_data d;
@@ -471,9 +458,14 @@ static int nvme_uring_cmd_io(struct nvme_ctrl *ctrl, struct nvme_ns *ns,
                        blk_flags);
        if (IS_ERR(req))
                return PTR_ERR(req);
+       req->end_io_data = ioucmd;
+
+       /* to free bio on completion, as req->bio will be null at that time */
+       pdu->bio = req->bio;
+       pdu->meta = meta;
+       pdu->meta_buffer = nvme_to_user_ptr(d.metadata);
+       pdu->meta_len = d.metadata_len;
 
-       nvme_setup_uring_cmd_data(req, ioucmd, nvme_to_user_ptr(d.metadata),
-                       d.metadata_len, meta);
        blk_execute_rq_nowait(req, 0, nvme_uring_cmd_end_io);
        return -EIOCBQUEUED;
 }