[PATCH] nvmet: return Invalid Log Page status code for unsupported lid

amit.engel at dell.com amit.engel at dell.com
Thu Sep 2 01:53:33 PDT 2021


From: Amit Engel <amit.engel at dell.com>

In case of an invalid or not supported log page
return NVME_SC_INVALID_LOG_PAGE

Signed-off-by: Amit Engel <amit.engel at dell.com>
---
 drivers/nvme/target/admin-cmd.c | 2 +-
 drivers/nvme/target/discovery.c | 4 +++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/nvme/target/admin-cmd.c b/drivers/nvme/target/admin-cmd.c
index aa6d84d8848e..5dcda2c87fdd 100644
--- a/drivers/nvme/target/admin-cmd.c
+++ b/drivers/nvme/target/admin-cmd.c
@@ -339,7 +339,7 @@ static void nvmet_execute_get_log_page(struct nvmet_req *req)
 	pr_debug("unhandled lid %d on qid %d\n",
 	       req->cmd->get_log_page.lid, req->sq->qid);
 	req->error_loc = offsetof(struct nvme_get_log_page_command, lid);
-	nvmet_req_complete(req, NVME_SC_INVALID_FIELD | NVME_SC_DNR);
+	nvmet_req_complete(req, NVME_SC_INVALID_LOG_PAGE | NVME_SC_DNR);
 }
 
 static void nvmet_execute_identify_ctrl(struct nvmet_req *req)
diff --git a/drivers/nvme/target/discovery.c b/drivers/nvme/target/discovery.c
index 7aa62bc6ae84..fdd52dbdd00f 100644
--- a/drivers/nvme/target/discovery.c
+++ b/drivers/nvme/target/discovery.c
@@ -176,9 +176,11 @@ static void nvmet_execute_disc_get_log_page(struct nvmet_req *req)
 		return;
 
 	if (req->cmd->get_log_page.lid != NVME_LOG_DISC) {
+		pr_err("unhandled get log page cmd with lid %#x from ctrlid %d\n"
+			req->cmd->get_log_page.lid, ctrl->cntlid);
 		req->error_loc =
 			offsetof(struct nvme_get_log_page_command, lid);
-		status = NVME_SC_INVALID_FIELD | NVME_SC_DNR;
+		status = NVME_SC_INVALID_LOG_PAGE | NVME_SC_DNR;
 		goto out;
 	}
 
-- 
2.18.2




More information about the Linux-nvme mailing list