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 <mhartmay@linux.ibm.com>
Signed-off-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
Boris Fiuczynski 2024-06-19 14:29:15 +02:00 committed by Michal Privoznik
parent 4062440b4b
commit e9c23d906f

View File

@ -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") ||