I used palimpsest to set APM of my hard drive to 254 (the vendor default is 128). It correctly created this file:
> $ cat /etc/udisks2/WDC-WD1600BEVS-08RST2-WD-WXC308394315.conf
> # See udisks(8) for the format of this file.
On every system boot, my HDD APM is 254 instead of 128, which is correct.
However, if I suspend the machine and resume it, the APM is back to 128. I assume udisks sets the disk properties only on clean boot, but not on system resume. Because system suspend powers down the HDD, on resume it runs with vendor defaults (128).
Please set disk attributes (like APM) also on system resume, not just system boot.
The same holds for disk spindown attribute (StandbyTimeout=), on resume it is not set. Since I usually reboot once a week, but suspend and resume every day, this is rather inconvenient.
Yes, we should do this. I think the kernel emits a signal when the system resumes, I think all we need to do is to listen for this.
I'm also suffering from this. I guess all udisks needs to do reapply the settings when logind's PrepareForSleep(false) signal is received?
How do you enumerate all UDisksDriveObjects in order to reapply their configuration? Ask the UDisksDaemon for all objects, then filter the GList by instance type?
What would be the best spot to implement listening to the PrepareForSleep signal? I assume this will be conditional on HAVE_LIBSYSTEMD_LOGIN.
*** Bug 90985 has been marked as a duplicate of this bug. ***
Ugly workaround I've been using (requires a systemd based system):
cat > /etc/systemd/system/udisks2-resume.service << EOF
# Workaround for https://bugs.freedesktop.org/show_bug.cgi?id=63041
Description=Restart udisks2 on resume
ExecStart=/usr/bin/systemctl restart udisks2.service
systemctl enable udisks2-resume.service
*** Bug 92479 has been marked as a duplicate of this bug. ***
*** Bug 91690 has been marked as a duplicate of this bug. ***