Re: disk write cache and poweroff

From: Andre Hedrick (andre@linux-ide.org)
Date: Mon Nov 12 2001 - 12:18:04 EST


Miquel,

Please use the latest patches found at www.linuxdiskcert.org.

Cheers,

Andre Hedrick
CEO/President, LAD Storage Consulting Group
Linux ATA Development
Linux Disk Certification Project

On Mon, 12 Nov 2001, Miquel van Smoorenburg wrote:

> Hello Andre,
>
> A few users of the debian sysvinit package have complained that on
> their laptop, shutdown + poweroff is too fast. The disk is turned
> off before the write-cache on the disk is completely written,
> resulting in some filesystem corruption.
>
> After some experimentation with turning off the write cache before
> shutdown etc, I found out that a side-effect of putting the IDE
> disk in standby mode is that the write cache is flushed. So now
> halt(8) has an extra option to put all IDE disks it can find
> (through /proc/ide/hd*) in standby mode just before it calls
> reboot(LINUX_REBOOT_CMD_POWER_OFF). Thus flag is used in the
> /etc/rc0.d/S90halt script, and appears to fix the problem. I think
> windows does the same :|
>
> Anyway this should probably be done in the kernel. Perhaps the
> IDE driver should register a reboot notifier with
> register_reboot_notifier() that puts all IDE disks on the
> system in standby mode on SYS_HALT and SYS_POWER_OFF ?
>
> Many other drivers do this too, grep for SYS_HALT in linux/drivers/*/*.c
>
> Hmm I just noticed that a lot of driver check for SYS_DOWN (which
> is the same as SYS_RESTART: reboot) and SYS_HALT but not for
> SYS_POWEROFF, which is a bug in those drivers. Ugh.
>
> Mike.
> --
> "Only two things are infinite, the universe and human stupidity,
> and I'm not sure about the former" -- Albert Einstein.
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Nov 15 2001 - 21:00:29 EST