summaryrefslogtreecommitdiff
path: root/drivers/nvme
diff options
context:
space:
mode:
authorDamien Le Moal <damien.lemoal@opensource.wdc.com>2023-03-15 19:59:39 +0900
committerChristoph Hellwig <hch@lst.de>2023-04-13 08:55:04 +0200
commit145f0dbb8aac48f2e3abd4bd09582c78afef07a7 (patch)
tree6c7f35750d7a2854fe404d26039ef30b054cfa4f /drivers/nvme
parenta5a6ab0950b46ab1ef4a5c83c80234018b81b38a (diff)
nvmet: cleanup nvmet_execute_identify()
Change the order of the cases in nvmet_execute_identify() main switch-case to match the NVMe 2.0 specification order as defined in table 273. This is also the increasing order of CNS values. While at it, for clarity, make it explicit that identify with cns set to NVME_ID_CNS_CS_NS does not support NVM command set specific data. No functional changes are introduced by this cleanup. Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com> Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com> Tested-by: Chaitanya Kulkarni <kch@nvidia.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'drivers/nvme')
-rw-r--r--drivers/nvme/target/admin-cmd.c35
1 files changed, 19 insertions, 16 deletions
diff --git a/drivers/nvme/target/admin-cmd.c b/drivers/nvme/target/admin-cmd.c
index 5bfbf5c651db..3c4f2ddc0960 100644
--- a/drivers/nvme/target/admin-cmd.c
+++ b/drivers/nvme/target/admin-cmd.c
@@ -701,19 +701,29 @@ static void nvmet_execute_identify(struct nvmet_req *req)
case NVME_ID_CNS_NS:
nvmet_execute_identify_ns(req);
return;
+ case NVME_ID_CNS_CTRL:
+ nvmet_execute_identify_ctrl(req);
+ return;
+ case NVME_ID_CNS_NS_ACTIVE_LIST:
+ nvmet_execute_identify_nslist(req);
+ return;
+ case NVME_ID_CNS_NS_DESC_LIST:
+ if (nvmet_handle_identify_desclist(req) == true)
+ return;
+ break;
case NVME_ID_CNS_CS_NS:
- if (IS_ENABLED(CONFIG_BLK_DEV_ZONED)) {
- switch (req->cmd->identify.csi) {
- case NVME_CSI_ZNS:
- return nvmet_execute_identify_cns_cs_ns(req);
- default:
- break;
+ switch (req->cmd->identify.csi) {
+ case NVME_CSI_NVM:
+ /* Not supported */
+ break;
+ case NVME_CSI_ZNS:
+ if (IS_ENABLED(CONFIG_BLK_DEV_ZONED)) {
+ nvmet_execute_identify_cns_cs_ns(req);
+ return;
}
+ break;
}
break;
- case NVME_ID_CNS_CTRL:
- nvmet_execute_identify_ctrl(req);
- return;
case NVME_ID_CNS_CS_CTRL:
switch (req->cmd->identify.csi) {
case NVME_CSI_NVM:
@@ -727,13 +737,6 @@ static void nvmet_execute_identify(struct nvmet_req *req)
break;
}
break;
- case NVME_ID_CNS_NS_ACTIVE_LIST:
- nvmet_execute_identify_nslist(req);
- return;
- case NVME_ID_CNS_NS_DESC_LIST:
- if (nvmet_handle_identify_desclist(req) == true)
- return;
- break;
}
nvmet_req_cns_error_complete(req);