[PATCH 6/7] nvmet: centralize req completion for effects log
Chaitanya Kulkarni
kch at nvidia.com
Thu Mar 23 00:52:02 PDT 2023
Remove nvmet_req_completion() call
nvmet_execute_get_log_cmd_effects_ns() and use the one that is in the
caller nvmet_execute_get_log_page().
Signed-off-by: Chaitanya Kulkarni <kch at nvidia.com>
---
drivers/nvme/target/admin-cmd.c | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/drivers/nvme/target/admin-cmd.c b/drivers/nvme/target/admin-cmd.c
index 5e6ac85b1843..3fc187580c8d 100644
--- a/drivers/nvme/target/admin-cmd.c
+++ b/drivers/nvme/target/admin-cmd.c
@@ -190,16 +190,14 @@ static void nvmet_get_cmd_effects_zns(struct nvme_effects_log *log)
cpu_to_le32(NVME_CMD_EFFECTS_CSUPP);
}
-static void nvmet_execute_get_log_cmd_effects_ns(struct nvmet_req *req)
+static u16 nvmet_execute_get_log_cmd_effects_ns(struct nvmet_req *req)
{
struct nvme_effects_log *log;
u16 status = NVME_SC_SUCCESS;
log = kzalloc(sizeof(*log), GFP_KERNEL);
- if (!log) {
- status = NVME_SC_INTERNAL;
- goto out;
- }
+ if (!log)
+ return NVME_SC_INTERNAL;
switch (req->cmd->get_log_page.csi) {
case NVME_CSI_NVM:
@@ -221,8 +219,7 @@ static void nvmet_execute_get_log_cmd_effects_ns(struct nvmet_req *req)
status = nvmet_copy_to_sgl(req, 0, log, sizeof(*log));
free:
kfree(log);
-out:
- nvmet_req_complete(req, status);
+ return status;
}
static u16 nvmet_execute_get_log_changed_ns(struct nvmet_req *req)
@@ -342,7 +339,8 @@ static void nvmet_execute_get_log_page(struct nvmet_req *req)
status = nvmet_execute_get_log_changed_ns(req);
break;
case NVME_LOG_CMD_EFFECTS:
- return nvmet_execute_get_log_cmd_effects_ns(req);
+ status = nvmet_execute_get_log_cmd_effects_ns(req);
+ break;
case NVME_LOG_ANA:
return nvmet_execute_get_log_page_ana(req);
default:
--
2.29.0
More information about the Linux-nvme
mailing list