storaged-project / udisks

The UDisks project provides a daemon, tools and libraries to access and manipulate disks, storage devices and technologies.
https://storaged.org/doc/udisks2-api/latest/
Other
349 stars 142 forks source link

udiskslinuxdriveata: Prefer udev ID_ATA_* attributes #1312

Closed tbzatek closed 1 month ago

tbzatek commented 2 months ago

Looking at the code in udisksata.c vs. udev/ata_id.c it appears to have equal basis, only the udev part has evolved over time. Except of one missing property it has feature parity, is better maintained, runs earlier in the chain and is readily available. There's no reason not to trust it as an authoritative source of information.

The existing probing code needs to stay in UDisks for dm-multipath device use, where udev ata_id is not run.

This needs ID_ATA_READ_LOOKAHEAD support in udev, merged in systemd-257~devel. libudev version is checked during configure and if lower, UDisks will fall back to the old probing approach just for this missing property.

As the udev/ata_id probing code is generally more permissive, it works on qemu-emulated AHCI+IDE devices as a bonus.

Fixes #1153 Fixes #808 Fixes #799 Fixes #732

tbzatek commented 1 month ago

Good to go now I think - no changes from the last time, except of the version check.