]> www.infradead.org Git - users/sagi/nvme-cli.git/commitdiff
Adding and updating some ns-id paramters to be inline with NVMe spec. rev. 1.4b
authorAffe <marko.ahvenainen@helsinkimemorytech.com>
Wed, 9 Dec 2020 12:44:30 +0000 (14:44 +0200)
committerAffe <marko.ahvenainen@helsinkimemorytech.com>
Wed, 9 Dec 2020 12:44:30 +0000 (14:44 +0200)
nvme-print.c [changed mode: 0644->0755]

old mode 100644 (file)
new mode 100755 (executable)
index 88b9731..ec909d5
@@ -2271,6 +2271,7 @@ static void nvme_show_id_ns_nsfeat(__u8 nsfeat)
 {
        __u8 rsvd = (nsfeat & 0xE0) >> 5;
        __u8 ioopt = (nsfeat & 0x10) >> 4;
+       __u8 uidreuse = (nsfeat & 0x08) >> 3;
        __u8 dulbe = (nsfeat & 0x4) >> 2;
        __u8 na = (nsfeat & 0x2) >> 1;
        __u8 thin = nsfeat & 0x1;
@@ -2278,6 +2279,8 @@ static void nvme_show_id_ns_nsfeat(__u8 nsfeat)
                printf("  [7:5] : %#x\tReserved\n", rsvd);
        printf("  [4:4] : %#x\tNPWG, NPWA, NPDG, NPDA, and NOWS are %sSupported\n",
                ioopt, ioopt ? "" : "Not ");
+       printf("  [3:3] : %#x\tNGUID and EUI64 may %sbe reused\n",
+               uidreuse, uidreuse ? "Not " : "");
        printf("  [2:2] : %#x\tDeallocated or Unwritten Logical Block error %sSupported\n",
                dulbe, dulbe ? "" : "Not ");
        printf("  [1:1] : %#x\tNamespace uses %s\n",
@@ -2367,7 +2370,7 @@ static void nvme_show_id_ns_nmic(__u8 nmic)
 
 static void nvme_show_id_ns_rescap(__u8 rescap)
 {
-       __u8 rsvd = (rescap & 0x80) >> 7;
+       __u8 iekr = (rescap & 0x80) >> 7;
        __u8 eaar = (rescap & 0x40) >> 6;
        __u8 wear = (rescap & 0x20) >> 5;
        __u8 earo = (rescap & 0x10) >> 4;
@@ -2375,8 +2378,9 @@ static void nvme_show_id_ns_rescap(__u8 rescap)
        __u8 ea = (rescap & 0x4) >> 2;
        __u8 we = (rescap & 0x2) >> 1;
        __u8 ptpl = rescap & 0x1;
-       if (rsvd)
-               printf("  [7:7] : %#x\tReserved\n", rsvd);
+
+       printf("  [7:7] : %#x\tIgnore Existing Key - Used as defined in revision %s\n",
+               iekr, iekr ? "1.3 or later" : "1.2.1 or earlier");
        printf("  [6:6] : %#x\tExclusive Access - All Registrants %sSupported\n",
                eaar, eaar ? "" : "Not ");
        printf("  [5:5] : %#x\tWrite Exclusive - All Registrants %sSupported\n",
@@ -2487,9 +2491,11 @@ void nvme_show_id_ns(struct nvme_id_ns *ns, unsigned int nsid,
        printf("mssrl   : %u\n", le16_to_cpu(ns->mssrl));
        printf("mcl     : %d\n", le32_to_cpu(ns->mcl));
        printf("msrc    : %u\n", ns->msrc);
+       printf("reserved:\n");
+       printf("anagrpid: %u\n", le32_to_cpu(ns->anagrpid));
+       printf("reserved:\n");
        printf("nsattr  : %u\n", ns->nsattr);
        printf("nvmsetid: %d\n", le16_to_cpu(ns->nvmsetid));
-       printf("anagrpid: %u\n", le32_to_cpu(ns->anagrpid));
        printf("endgid  : %d\n", le16_to_cpu(ns->endgid));
 
        printf("nguid   : ");
@@ -2519,6 +2525,8 @@ void nvme_show_id_ns(struct nvme_id_ns *ns, unsigned int nsid,
                                i == (ns->flbas & 0xf) ? "(in use)" : "");
        }
 
+       printf("reserved:\n");
+
        if (vs) {
                printf("vs[]:\n");
                d(ns->vs, sizeof(ns->vs), 16, 1);