diff --git a/nvme-print-stdout.c b/nvme-print-stdout.c index 198d776335..d419c969d1 100644 --- a/nvme-print-stdout.c +++ b/nvme-print-stdout.c @@ -3105,6 +3105,29 @@ static void stdout_id_ctrl_nvm_aocs(__u16 aocs) printf("\n"); } +static void stdout_id_ctrl_nvm_ver(__u32 ver) +{ + printf(" NVM command set specification: %d.%d.%d\n\n", NVME_MAJOR(ver), NVME_MINOR(ver), + NVME_TERTIARY(ver)); +} + +static void stdout_id_ctrl_nvm_lbamqf(__u8 lbamqf) +{ + printf(" 0x%x: ", lbamqf); + + switch (lbamqf) { + case NVME_ID_CTRL_NVM_LBAMQF_TYPE_0: + printf("LBA Migration Queue Entry Type 0\n\n"); + break; + case NVME_ID_CTRL_NVM_LBAMQF_VENDOR_MIN ... NVME_ID_CTRL_NVM_LBAMQF_VENDOR_MAX: + printf("Vendor Specific\n\n"); + break; + default: + printf("Reserved\n\n"); + break; + } +} + static void stdout_id_ctrl_nvm(struct nvme_id_ctrl_nvm *ctrl_nvm) { int verbose = stdout_print_ops.flags & VERBOSE; @@ -3119,6 +3142,12 @@ static void stdout_id_ctrl_nvm(struct nvme_id_ctrl_nvm *ctrl_nvm) printf("aocs : %u\n", le16_to_cpu(ctrl_nvm->aocs)); if (verbose) stdout_id_ctrl_nvm_aocs(le16_to_cpu(ctrl_nvm->aocs)); + printf("ver : 0x%x\n", le32_to_cpu(ctrl_nvm->ver)); + if (verbose) + stdout_id_ctrl_nvm_ver(le32_to_cpu(ctrl_nvm->ver)); + printf("lbamqf : %u\n", ctrl_nvm->lbamqf); + if (verbose) + stdout_id_ctrl_nvm_lbamqf(ctrl_nvm->lbamqf); } static void stdout_nvm_id_ns_pic(__u8 pic) diff --git a/subprojects/libnvme.wrap b/subprojects/libnvme.wrap index 8572c33f59..e7cb55ed3c 100644 --- a/subprojects/libnvme.wrap +++ b/subprojects/libnvme.wrap @@ -1,6 +1,6 @@ [wrap-git] url = https://github.com/linux-nvme/libnvme.git -revision = f1ddb968ce03a67a96e3f9069e9b758532cf67b9 +revision = 5f89dfd392ea87ce69cf27b19b0a4a73a4b4d31b [provide] libnvme = libnvme_dep