Skip to content

Commit

Permalink
Merge PR #27156 into master
Browse files Browse the repository at this point in the history
* refs/pull/27156/head:
	common/blkdev: get_device_id: behave if model is lvm and id_model_enc isn't there

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
  • Loading branch information
liewegas committed Mar 25, 2019
2 parents 9fdcaae + ec4434a commit 5118df1
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 5 deletions.
2 changes: 1 addition & 1 deletion src/ceph-volume/ceph_volume/util/device.py
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ def _get_device_id(self):
'ID_SCSI_SERIAL']
p = disk.udevadm_property(self.abspath, props)
if p.get('ID_MODEL','').startswith('LVM PV '):
p['ID_MODEL'] = p.get('ID_MODEL_ENC').replace('\\x20', ' ').strip()
p['ID_MODEL'] = p.get('ID_MODEL_ENC', '').replace('\\x20', ' ').strip()
if 'ID_VENDOR' in p and 'ID_MODEL' in p and 'ID_SCSI_SERIAL' in p:
dev_id = '_'.join([p['ID_VENDOR'], p['ID_MODEL'],
p['ID_SCSI_SERIAL']])
Expand Down
10 changes: 6 additions & 4 deletions src/common/blkdev.cc
Original file line number Diff line number Diff line change
Expand Up @@ -486,10 +486,12 @@ std::string get_device_id(const std::string& devname,
// sometimes, ID_MODEL is "LVM ..." but ID_MODEL_ENC is correct (but
// encoded with \x20 for space).
if (id_model.substr(0, 7) == "LVM PV ") {
std::string enc = udev_device_get_property_value(dev, "ID_MODEL_ENC");
enc = _decode_model_enc(enc);
if (enc.size()) {
id_model = enc;
const char *enc = udev_device_get_property_value(dev, "ID_MODEL_ENC");
if (enc) {
id_model = _decode_model_enc(enc);
} else {
// ignore ID_MODEL then
id_model.clear();
}
}
}
Expand Down
29 changes: 29 additions & 0 deletions src/test/common/blkdev-udevadm-info-samples/stud.nvme0n1
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
P: /devices/pci0000:00/0000:00:03.0/0000:04:00.0/nvme/nvme0/nvme0n1
N: nvme0n1
S: disk/by-id/lvm-pv-uuid-eQ399W-P00T-Fdv1-DkWO-4bGJ-VMCN-RstGEU
S: disk/by-id/nvme-INTEL_SSDPE2MX012T4_CVPD6185002R1P2QGN
S: disk/by-id/nvme-nvme.8086-43565044363138353030325231503251474e-494e54454c205353445045324d583031325434-00000001
S: disk/by-path/pci-0000:04:00.0-nvme-1
E: DEVLINKS=/dev/disk/by-path/pci-0000:04:00.0-nvme-1 /dev/disk/by-id/lvm-pv-uuid-eQ399W-P00T-Fdv1-DkWO-4bGJ-VMCN-RstGEU /dev/disk/by-id/nvme-nvme.8086-43565044363138353030325231503251474e-494e54454c205353445045324d583031325434-00000001 /dev/disk/by-id/nvme-INTEL_SSDPE2MX012T4_CVPD6185002R1P2QGN
E: DEVNAME=/dev/nvme0n1
E: DEVPATH=/devices/pci0000:00/0000:00:03.0/0000:04:00.0/nvme/nvme0/nvme0n1
E: DEVTYPE=disk
E: ID_FS_TYPE=LVM2_member
E: ID_FS_USAGE=raid
E: ID_FS_UUID=eQ399W-P00T-Fdv1-DkWO-4bGJ-VMCN-RstGEU
E: ID_FS_UUID_ENC=eQ399W-P00T-Fdv1-DkWO-4bGJ-VMCN-RstGEU
E: ID_FS_VERSION=LVM2 001
E: ID_MODEL=LVM PV eQ399W-P00T-Fdv1-DkWO-4bGJ-VMCN-RstGEU on /dev/nvme0n1
E: ID_PATH=pci-0000:04:00.0-nvme-1
E: ID_PATH_TAG=pci-0000_04_00_0-nvme-1
E: ID_SERIAL=INTEL SSDPE2MX012T4_CVPD6185002R1P2QGN
E: ID_SERIAL_SHORT=CVPD6185002R1P2QGN
E: ID_WWN=nvme.8086-43565044363138353030325231503251474e-494e54454c205353445045324d583031325434-00000001
E: MAJOR=259
E: MINOR=0
E: SUBSYSTEM=block
E: SYSTEMD_ALIAS=/dev/block/259:0
E: SYSTEMD_READY=1
E: SYSTEMD_WANTS=lvm2-pvscan@259:0.service
E: TAGS=:systemd:
E: USEC_INITIALIZED=13656184
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
INTEL_SSDPE2MX012T4_CVPD6185002R1P2QGN

0 comments on commit 5118df1

Please sign in to comment.