From: Andreas Hindborg Date: Wed, 22 Sep 2021 11:08:22 +0000 (+0200) Subject: Fix bug in `nvme_identify_iocs` X-Git-Tag: v1.0-rc0~102^2 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=d103568762cf54cc9af4b2bcd32a888a4b1481f3;p=users%2Fsagi%2Flibnvme.git Fix bug in `nvme_identify_iocs` This patch fixes a bug in `nvme_identify_iocs` where the wrong CNS value used in the Identify Command data structure. Signed-off-by: Andreas Hindborg --- diff --git a/src/nvme/ioctl.c b/src/nvme/ioctl.c index cac8e236..0863467f 100644 --- a/src/nvme/ioctl.c +++ b/src/nvme/ioctl.c @@ -497,7 +497,7 @@ int nvme_identify_ns_csi(int fd, __u32 nsid, __u8 csi, void *data) int nvme_identify_iocs(int fd, __u16 cntlid, struct nvme_id_iocs *iocs) { BUILD_ASSERT(sizeof(struct nvme_id_iocs) == 4096); - return nvme_identify(fd, NVME_IDENTIFY_CNS_CSI_CTRL, NVME_NSID_NONE, + return nvme_identify(fd, NVME_IDENTIFY_CNS_COMMAND_SET_STRUCTURE, NVME_NSID_NONE, cntlid, NVME_NVMSETID_NONE, NVME_UUID_NONE, NVME_CSI_NVM, iocs); } diff --git a/src/nvme/ioctl.h b/src/nvme/ioctl.h index 20cb75d1..2b5a2108 100644 --- a/src/nvme/ioctl.h +++ b/src/nvme/ioctl.h @@ -451,6 +451,7 @@ enum nvme_admin_opcode { * @NVME_IDENTIFY_CNS_NS_GRANULARITY: * @NVME_IDENTIFY_CNS_UUID_LIST: * @NVME_IDENTIFY_CNS_CSI_ALLOCATED_NS: + * @NVME_IDENTIFY_CNS_COMMAND_SET_STRUCTURE: Base Specification 2.0a section 5.17.2.21 */ enum nvme_identify_cns { NVME_IDENTIFY_CNS_NS = 0x00, @@ -469,6 +470,7 @@ enum nvme_identify_cns { NVME_IDENTIFY_CNS_NS_GRANULARITY = 0x16, NVME_IDENTIFY_CNS_UUID_LIST = 0x17, NVME_IDENTIFY_CNS_CSI_ALLOCATED_NS = 0x18, /* XXX: Placeholder until assigned */ + NVME_IDENTIFY_CNS_COMMAND_SET_STRUCTURE = 0x1C, }; /**