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.
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