Damien Le Moal <dlemoal@xxxxxxxxxx> writes: > What does not work ? Everything is fine with my testing: the drive is always > woken up whenever someone (FS, applications etc) issue a block IO (including > flush) to the block layer. That is the expected behavior. If you want to have > the disk keep sleeping, the device users must stop poking at the drive. It seems that I have put my foot in my mouth. When I first started working on these patches way back when, I did see flushes without any writes in the blktrace keeping the drive awake. I assumed that was still a problem that I needed to tackle. I should have tested it first. It seems this problem has been fixed already. ext4 does still seem to issue a flush with no writes in the sync path though, causing a drive to spin up for no reason, then right back down when you suspend-to-ram. I guess I'll ask about this on the ext4 list. Circling back to the PuiS patch, did I understand correctly that you are fine with that as long as it integrates with runtime pm? I had tried at one point to add support for REQUEST SENSE to libata so that sd can issue that to find out if the disk is powered up or not, and set the runtime_pm status of the disk accordingly. Does that make sense to you?