HDDの電源オフからの復帰時のエラー(timeout)の対処法
背景と問題
FreeBSDでアイドル時のHDDの電源を切る方法としては、BIOSで設定するとか、ataidleを使うとかがあります。
ただ、HDDの電源を切った後、HDDにアクセスするとHDDの電源が入りますが、その際
ad0: TIMEOUT - READ_DMA48 retrying (1 retry left) LBA=... ad0: FAILURE - READ_DMA48 status=51<READY,DSC,ERROR> error=10<NID_NOT_FOUND> LBA=...
など、Timeout系のエラーが報告されることがあります。WRITE_DMAの場合もあります。
retryで何事もなく動作することもありますが、場合によっては(私の場合はgeli attach/initの時とか)そのまま失敗してエラーになったり、ad0が見えなくなったり、フリーズしたりすることもあります。