]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
common/blkdev: micron SSDs don't include vendor name in ID_SERIAL
authorSage Weil <sage@redhat.com>
Thu, 6 Dec 2018 16:02:20 +0000 (10:02 -0600)
committerSage Weil <sage@redhat.com>
Fri, 7 Dec 2018 15:50:13 +0000 (09:50 -0600)
According to Ryan Meredith <rmeredith@micron.com>, the NVMes begin with
MTFD, but their other devices use the standard Micron_$model_$serial.

Signed-off-by: Sage Weil <sage@redhat.com>
src/common/blkdev.cc
src/test/common/blkdev-udevadm-info-samples/reesi001.nvme0n1 [new file with mode: 0644]
src/test/common/blkdev-udevadm-info-samples/reesi001.nvme0n1.devid [new file with mode: 0644]

index 7dc3f7e48e6bf9164e1506dc547ef68bff150b8b..42f096d9b7e7f54f58850c157d26835cbf5d8cb2 100644 (file)
@@ -448,6 +448,10 @@ std::string get_device_id(const std::string& devname)
     device_id = id_model + '_' + id_serial_short;
   } else if (id_serial.size()) {
     device_id = id_serial;
+    if (device_id.substr(0, 4) == "MTFD") {
+      // Micron NVMes hide the vendor
+      device_id = "Micron_" + device_id;
+    }
   }
   if (device_id.size()) {
     std::replace(device_id.begin(), device_id.end(), ' ', '_');
diff --git a/src/test/common/blkdev-udevadm-info-samples/reesi001.nvme0n1 b/src/test/common/blkdev-udevadm-info-samples/reesi001.nvme0n1
new file mode 100644 (file)
index 0000000..48eada7
--- /dev/null
@@ -0,0 +1,16 @@
+P: /devices/pci0000:00/0000:00:02.1/0000:04:00.0/nvme/nvme0/nvme0n1
+N: nvme0n1
+S: disk/by-id/nvme-MTFDHBG800MCG-1AN1ZABYY_ZF1000MT
+E: DEVLINKS=/dev/disk/by-id/nvme-MTFDHBG800MCG-1AN1ZABYY_ZF1000MT
+E: DEVNAME=/dev/nvme0n1
+E: DEVPATH=/devices/pci0000:00/0000:00:02.1/0000:04:00.0/nvme/nvme0/nvme0n1
+E: DEVTYPE=disk
+E: ID_PART_TABLE_TYPE=gpt
+E: ID_PART_TABLE_UUID=c206417c-54fd-4938-8223-32343c5d1057
+E: ID_SERIAL=MTFDHBG800MCG-1AN1ZABYY_ZF1000MT
+E: ID_SERIAL_SHORT=ZF1000MT
+E: MAJOR=259
+E: MINOR=0
+E: SUBSYSTEM=block
+E: TAGS=:systemd:
+E: USEC_INITIALIZED=2455622
diff --git a/src/test/common/blkdev-udevadm-info-samples/reesi001.nvme0n1.devid b/src/test/common/blkdev-udevadm-info-samples/reesi001.nvme0n1.devid
new file mode 100644 (file)
index 0000000..6341dd2
--- /dev/null
@@ -0,0 +1 @@
+Micron_MTFDHBG800MCG-1AN1ZABYY_ZF1000MT