58 lines
2.0 KiB
Diff
58 lines
2.0 KiB
Diff
From e81d0f80068086147434fa947a4f723c00318772 Mon Sep 17 00:00:00 2001
|
|
From: Sven Wiltink <swiltink@transip.nl>
|
|
Date: Fri, 1 May 2020 16:35:40 +0200
|
|
Subject: [PATCH 238/389] lsblk: Fall back to ID_SERIAL
|
|
|
|
In some cases ID_SERIAL_SHORT isn't provided by libudev, but ID_SERIAL
|
|
is. An example of this are virtio devices. See the output of udevadm
|
|
info:
|
|
P: /devices/pci0000:00/0000:00:06.0/virtio2/block/vdb
|
|
N: vdb
|
|
S: disk/by-id/virtio-08491434ee711d3420e9
|
|
S: disk/by-path/pci-0000:00:06.0
|
|
S: disk/by-path/virtio-pci-0000:00:06.0
|
|
E: DEVLINKS=/dev/disk/by-id/virtio-08491434ee711d3420e9 /dev/disk/by-path/pci-0000:00:06.0 /dev/disk/by-path/virtio-pci-0000:00:06.0
|
|
E: DEVNAME=/dev/vdb
|
|
E: DEVPATH=/devices/pci0000:00/0000:00:06.0/virtio2/block/vdb
|
|
E: DEVTYPE=disk
|
|
E: ID_PATH=pci-0000:00:06.0
|
|
E: ID_PATH_TAG=pci-0000_00_06_0
|
|
E: ID_SERIAL=08491434ee711d3420e9
|
|
E: MAJOR=252
|
|
E: MINOR=16
|
|
E: SUBSYSTEM=block
|
|
E: TAGS=:systemd:
|
|
E: USEC_INITIALIZED=1403804
|
|
|
|
[kzak@redhat.com: - add ID_SERIAL also to get_properties_by_file()]
|
|
|
|
Signed-off-by: Karel Zak <kzak@redhat.com>
|
|
---
|
|
misc-utils/lsblk-properties.c | 3 +++
|
|
1 file changed, 3 insertions(+)
|
|
|
|
diff --git a/misc-utils/lsblk-properties.c b/misc-utils/lsblk-properties.c
|
|
index 6f41eac..9e79be3 100644
|
|
--- a/misc-utils/lsblk-properties.c
|
|
+++ b/misc-utils/lsblk-properties.c
|
|
@@ -107,6 +107,8 @@ static struct lsblk_devprop *get_properties_by_udev(struct lsblk_device *ld)
|
|
data = udev_device_get_property_value(dev, "ID_SCSI_SERIAL");
|
|
if(!data)
|
|
data = udev_device_get_property_value(dev, "ID_SERIAL_SHORT");
|
|
+ if(!data)
|
|
+ data = udev_device_get_property_value(dev, "ID_SERIAL");
|
|
if (data)
|
|
prop->serial = xstrdup(data);
|
|
|
|
@@ -209,6 +211,7 @@ static struct lsblk_devprop *get_properties_by_file(struct lsblk_device *ld)
|
|
else if (lookup(buf, "ID_WWN", &prop->wwn)) ;
|
|
else if (lookup(buf, "ID_SCSI_SERIAL", &prop->serial)) ;
|
|
else if (lookup(buf, "ID_SERIAL_SHORT", &prop->serial)) ;
|
|
+ else if (lookup(buf, "ID_SERIAL", &prop->serial)) ;
|
|
|
|
/* lsblk specific */
|
|
else if (lookup(buf, "MODE", &prop->mode)) ;
|
|
--
|
|
1.8.3.1
|
|
|