As I wrote in an older entry I do check my disk temperature every minute to create nice Graphs. But this has a bad side-effect. If a disk is spun down (eg. with ataidle) it gets woken up by smartctl.
Some googling revealed, that smartd
of the smartmontools has a feature to skip checks when a disk is idle, but smartctl
does not. Some patching later, I had added a
switch, to make smartctl skip reading, if a disk is in -n
SUSPEND
mode.
To my dismay, I found that the FreeBSD-specific code did not implement the CHECK_POWER_MODE function (see page 88 of the ATA spec), so I added that one, too.
Of course I have sent the patch with some explanation to the smartmontools developpers, but as usual, they don't even bother to respond to my mail.
So, for anyone who suffers from the same problem, here is the nospinup patch and the Freebsd CHECK_POWER_MODE patch
– Sec