nvme: remove nvme_execute_passthru_rq
authorChristoph Hellwig <hch@lst.de>
Wed, 14 Dec 2022 09:13:16 +0000 (10:13 +0100)
committerChristoph Hellwig <hch@lst.de>
Wed, 1 Feb 2023 13:21:59 +0000 (14:21 +0100)
After moving the nvme_passthru_end call to the callers of
nvme_execute_passthru_rq, this function has become quite pointless,
so remove it.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jens Axboe <axboe@kernel.dk>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
drivers/nvme/host/core.c
drivers/nvme/host/ioctl.c
drivers/nvme/host/nvme.h
drivers/nvme/target/passthru.c

index 505e16f..564ce60 100644 (file)
@@ -1004,7 +1004,7 @@ EXPORT_SYMBOL_GPL(nvme_setup_cmd);
  * >0: nvme controller's cqe status response
  * <0: kernel error in lieu of controller response
  */
-static int nvme_execute_rq(struct request *rq, bool at_head)
+int nvme_execute_rq(struct request *rq, bool at_head)
 {
        blk_status_t status;
 
@@ -1015,6 +1015,7 @@ static int nvme_execute_rq(struct request *rq, bool at_head)
                return nvme_req(rq)->status;
        return blk_status_to_errno(status);
 }
+EXPORT_SYMBOL_NS_GPL(nvme_execute_rq, NVME_TARGET_PASSTHRU);
 
 /*
  * Returns 0 on success.  If the result is negative, it's a Linux error code;
@@ -1116,8 +1117,7 @@ u32 nvme_command_effects(struct nvme_ctrl *ctrl, struct nvme_ns *ns, u8 opcode)
 }
 EXPORT_SYMBOL_NS_GPL(nvme_command_effects, NVME_TARGET_PASSTHRU);
 
-static u32 nvme_passthru_start(struct nvme_ctrl *ctrl, struct nvme_ns *ns,
-                              u8 opcode)
+u32 nvme_passthru_start(struct nvme_ctrl *ctrl, struct nvme_ns *ns, u8 opcode)
 {
        u32 effects = nvme_command_effects(ctrl, ns, opcode);
 
@@ -1135,6 +1135,7 @@ static u32 nvme_passthru_start(struct nvme_ctrl *ctrl, struct nvme_ns *ns,
        }
        return effects;
 }
+EXPORT_SYMBOL_NS_GPL(nvme_passthru_start, NVME_TARGET_PASSTHRU);
 
 void nvme_passthru_end(struct nvme_ctrl *ctrl, u32 effects,
                       struct nvme_command *cmd, int status)
@@ -1176,17 +1177,6 @@ void nvme_passthru_end(struct nvme_ctrl *ctrl, u32 effects,
 }
 EXPORT_SYMBOL_NS_GPL(nvme_passthru_end, NVME_TARGET_PASSTHRU);
 
-int nvme_execute_passthru_rq(struct request *rq, u32 *effects)
-{
-       struct nvme_command *cmd = nvme_req(rq)->cmd;
-       struct nvme_ctrl *ctrl = nvme_req(rq)->ctrl;
-       struct nvme_ns *ns = rq->q->queuedata;
-
-       *effects = nvme_passthru_start(ctrl, ns, cmd->common.opcode);
-       return nvme_execute_rq(rq, false);
-}
-EXPORT_SYMBOL_NS_GPL(nvme_execute_passthru_rq, NVME_TARGET_PASSTHRU);
-
 /*
  * Recommended frequency for KATO commands per NVMe 1.4 section 7.12.1:
  * 
index ffaabf1..723e7d5 100644 (file)
@@ -219,6 +219,7 @@ static int nvme_submit_user_cmd(struct request_queue *q,
                void __user *meta_buffer, unsigned meta_len, u32 meta_seed,
                u64 *result, unsigned timeout, unsigned int flags)
 {
+       struct nvme_ns *ns = q->queuedata;
        struct nvme_ctrl *ctrl;
        struct request *req;
        void *meta = NULL;
@@ -241,8 +242,8 @@ static int nvme_submit_user_cmd(struct request_queue *q,
        bio = req->bio;
        ctrl = nvme_req(req)->ctrl;
 
-       ret = nvme_execute_passthru_rq(req, &effects);
-
+       effects = nvme_passthru_start(ctrl, ns, cmd->common.opcode);
+       ret = nvme_execute_rq(req, false);
        if (result)
                *result = le64_to_cpu(nvme_req(req)->result.u64);
        if (meta)
index 424c8a4..c7c45fd 100644 (file)
@@ -1070,7 +1070,8 @@ static inline void nvme_auth_free(struct nvme_ctrl *ctrl) {};
 
 u32 nvme_command_effects(struct nvme_ctrl *ctrl, struct nvme_ns *ns,
                         u8 opcode);
-int nvme_execute_passthru_rq(struct request *rq, u32 *effects);
+u32 nvme_passthru_start(struct nvme_ctrl *ctrl, struct nvme_ns *ns, u8 opcode);
+int nvme_execute_rq(struct request *rq, bool at_head);
 void nvme_passthru_end(struct nvme_ctrl *ctrl, u32 effects,
                       struct nvme_command *cmd, int status);
 struct nvme_ctrl *nvme_ctrl_from_file(struct file *file);
index adc0958..511c980 100644 (file)
@@ -216,11 +216,12 @@ static void nvmet_passthru_execute_cmd_work(struct work_struct *w)
        struct nvmet_req *req = container_of(w, struct nvmet_req, p.work);
        struct request *rq = req->p.rq;
        struct nvme_ctrl *ctrl = nvme_req(rq)->ctrl;
+       struct nvme_ns *ns = rq->q->queuedata;
        u32 effects;
        int status;
 
-       status = nvme_execute_passthru_rq(rq, &effects);
-
+       effects = nvme_passthru_start(ctrl, ns, req->cmd->common.opcode);
+       status = nvme_execute_rq(rq, false);
        if (status == NVME_SC_SUCCESS &&
            req->cmd->common.opcode == nvme_admin_identify) {
                switch (req->cmd->identify.cns) {