diff options
author | Damien Le Moal <damien.lemoal@opensource.wdc.com> | 2023-03-15 11:59:39 +0100 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2023-04-13 08:55:04 +0200 |
commit | 145f0dbb8aac48f2e3abd4bd09582c78afef07a7 (patch) | |
tree | 6c7f35750d7a2854fe404d26039ef30b054cfa4f /drivers/nvme | |
parent | nvmet: fix I/O Command Set specific Identify Controller (diff) | |
download | linux-145f0dbb8aac48f2e3abd4bd09582c78afef07a7.tar.xz linux-145f0dbb8aac48f2e3abd4bd09582c78afef07a7.zip |
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.c | 35 |
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); |