Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

udiskslinuxdriveata: Prefer udev ID_ATA_* attributes #1312

Merged
merged 2 commits into from
Oct 1, 2024

Conversation

tbzatek
Copy link
Member

@tbzatek tbzatek commented Sep 11, 2024

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

configure.ac Outdated Show resolved Hide resolved
@tbzatek
Copy link
Member Author

tbzatek commented Sep 27, 2024

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

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.
Now that this is read from udev, it needs to be poked explicitly.
@tbzatek tbzatek merged commit fe64bca into storaged-project:master Oct 1, 2024
20 of 26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants