From: Boris Fiuczynski Date: Wed, 19 Jun 2024 12:29:15 +0000 (+0200) Subject: nodedev: improve DASD detection X-Git-Tag: v10.5.0-rc1~44 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e9c23d906f4b3908c2c29638120368633e23f7e7;p=thirdparty%2Flibvirt.git nodedev: improve DASD detection In newer DASD driver versions the ID_TYPE tag is supported. This tag is missing after a system reboot but when the ccw device is set offline and online the tag is included. To fix this version independently we need to check if devices detected as type disk is actually a DASD to maintain the node object consistency and not end up with multiple node objects for DASDs. Resolves: https://issues.redhat.com/browse/RHEL-39497 Reviewed-by: Marc Hartmayer Signed-off-by: Boris Fiuczynski Reviewed-by: Michal Privoznik --- diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c index 84848a3d5c..2ccf694580 100644 --- a/src/node_device/node_device_udev.c +++ b/src/node_device/node_device_udev.c @@ -1067,6 +1067,10 @@ udevProcessStorage(struct udev_device *device, storage->drive_type = g_strdup("sd"); else if (udevKludgeStorageType(def) != 0) goto cleanup; + } else { + /* A detected disk might be a DASD */ + if (STREQ(def->caps->data.storage.drive_type, "disk")) + udevFixupStorageType(def, "/dev/dasd", "dasd"); } if (STREQ(def->caps->data.storage.drive_type, "cd") ||