Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 25 Jan 2003 13:38:59 -0800
From:      David Schultz <dschultz@uclink.Berkeley.EDU>
To:        Nate Lawson <nate@root.org>
Cc:        current@FreeBSD.ORG
Subject:   Re: I've just had a massive file system crash
Message-ID:  <20030125213859.GB6339@HAL9000.homeunix.com>
In-Reply-To: <Pine.BSF.4.21.0301251048090.79988-100000@root.org>
References:  <20030125070352.GA933@HAL9000.homeunix.com> <Pine.BSF.4.21.0301251048090.79988-100000@root.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Thus spake Nate Lawson <nate@root.org>:
> On Fri, 24 Jan 2003, David Schultz wrote:
> > Thus spake Greg Lehey <grog@FreeBSD.ORG>:
> > > I've been thinking about what happened, and I have a possibility: the
> > > session before shutdown included a lot of writing to that file system,
> > > and I did a shutdown -p.  It's possible that the shutdown powered off
> > > the system before the disk had flushed its cache.  For the moment I'm
> > > avoiding shutdown -p, but when I get home I'll try to provoke it
> > > again.
> > 
> > FreeBSD's ``fix'' for this problem is the same as Windows 98's.
> > Specifically, there is a 5-second delay (tuneable:
> > kern.shutdown.poweroff_delay) after all buffers are flushed but
> > before the power is cut.  Maybe we ought to be sending FLUSH
> > CACHE commands to all drives and waiting for them to finish.
> 
> da(4) does a SYNC CACHE (see daclose() and dashutdown()).

Good.  I was referring to IDE in this case, because I assume
that's what Greg's laptop uses.  The ATA driver flushes the cache
when the device is closed, but I don't think that happens during
shutdown.  It probably needs to register a shutdown hook like the
SCSI driver.  Also, the driver is a bit optimistic about how long
the flush will take; it times out after 5 seconds, whereas the ATA
spec says a flush can take up to 30 seconds.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030125213859.GB6339>