nvmet: fix Identify Active Namespace ID list handling
authorDamien Le Moal <damien.lemoal@opensource.wdc.com>
Wed, 15 Mar 2023 10:59:37 +0000 (19:59 +0900)
committerChristoph Hellwig <hch@lst.de>
Thu, 13 Apr 2023 06:55:04 +0000 (08:55 +0200)
The identify command with cns set to NVME_ID_CNS_NS_ACTIVE_LIST does
not depend on the command set. The execution of this command should
thus not look at the csi field specified in the command. Simplify
nvmet_execute_identify() to directly call
nvmet_execute_identify_nslist() without the csi switch-case.

Fixes: ab5d0b38c047 ("nvmet: add Command Set Identifier support")
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>
drivers/nvme/target/admin-cmd.c

index a747c69074daf0834989d5ef6daa22c482612fbd..93c441ab9f09015d53a79fee4b6648503c2496d7 100644 (file)
@@ -718,13 +718,8 @@ static void nvmet_execute_identify(struct nvmet_req *req)
                }
                break;
        case NVME_ID_CNS_NS_ACTIVE_LIST:
-               switch (req->cmd->identify.csi) {
-               case NVME_CSI_NVM:
-                       return nvmet_execute_identify_nslist(req);
-               default:
-                       break;
-               }
-               break;
+               nvmet_execute_identify_nslist(req);
+               return;
        case NVME_ID_CNS_NS_DESC_LIST:
                if (nvmet_handle_identify_desclist(req) == true)
                        return;