Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Jul 2005 20:22:41 -0700 (PDT)
From:      Don Lewis <truckman@FreeBSD.org>
To:        oberman@es.net
Cc:        freebsd-stable@FreeBSD.org, freebsd-questions@FreeBSD.org
Subject:   Re: dangerous situation with shutdown process 
Message-ID:  <200507200322.j6K3MfLR042449@gw.catspoiler.org>
In-Reply-To: <20050714191449.A8A615D07@ptavv.es.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On 14 Jul, Kevin Oberman wrote:
>> Date: Thu, 14 Jul 2005 20:38:15 +0200
>> From: Anatoliy Dmytriyev <tolid@plab.ku.dk>
>> Sender: owner-freebsd-stable@freebsd.org
>> 
>> Hello, everybody!
>> 
>> I have found unusual and dangerous situation with shutdown process:
>> I did a copy of 200 GB data on the 870 GB partition (softupdates is 
>> enabled) by cp command.
>> It took a lot of time when I did umount for this partition exactly after 
>> cp, but procedure finished correctly.

When you unmounted the file system, that should have flushed all the
dirty files to the disk.

>> In case, if I did “shutdown –h(r)”, also exactly after cp, the shutdown 
>> procedure waited for “sync” (umounting of the file system) but sync 
>> process was terminated by  timeout, and fsck checked and did correction 
>> of the file system after boot.

Did the timeout occur during the syncer shutdown, or at the "syncing
disks ..." step.

Did you have any ext2 file systems mounted?  These should be manually
unmounted before shutdown because they confuse the final sync code.

>> System 5.4-stable, RAM 4GB, processor P-IV 3GHz.
>> 
>> How can I fix it on my system?
> 
> SCSI or ATA? If it's ATA, turn off write cache with (atacontrol(8) or
> the sysctl.
> 
> The problem is that disks lie about whether they have actually written
> data. If the power goes off before the data is in cache, it's lost.

That should only make a difference in a power-fail situation, and it
only makes a difference if the only unwritten data is in the drive's
write cache.

> I am not sure if write-cache can be turned off on SCSI, but SCSI drives
> seem less likely to lie about when the data is actually flushed to the
> drive. 

Yes it can, and I recommend it.  Use the camcontrol modepage command to
set the WCE bit to 0.




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