Letting sleeping disks lie

Phillip Susi psusi at ubuntu.com
Wed Sep 25 19:34:44 PDT 2013

Hash: SHA512

I have been experimenting with the recent block runtime pm feature and
trying to patch the kernel to take advantage of the lower power SLEEP
mode instead of STANDBY to save more power, and running into trouble
with udisks waking them up.

I knew that udisks already skips its period SMART update if it sees
the disk is in standby using the ata CHECK POWER command, so I fixed
the kernel to fake this command sand say it is in standby when it is
really in sleep mode ( which otherwise forces a link reset, bringing
the device out of sleep to issue the check power command ).

One problem now seems to be with the runtime pm doing a full spin up
to issue the check power command, which I think can be fixed by
checking the runtime status in sysfs before issuing the command.  The
next problem is that when the disk is sleeping, udisks issues an
IDENTIFY DEVICE command before the check power.  This seems to be
coming from libatasmart, which appears to be trying to issue this
command when opening the device when it can't find the
ID_ATA_SMART_ACCESS attribute.  What is this attribute and where is it
supposed to come from?

Version: GnuPG v1.4.12 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/


More information about the devkit-devel mailing list