dangerous situation with shutdown process

Jon Dama jd at ugcs.caltech.edu
Thu Jul 14 21:21:49 GMT 2005

if the FUA bit in the sata command header is properly respected.

if the flush cache command on an ata device is properly respected.

if the flush cache command on an ata device is implemented (it's optional)

if the flush cache command exists when the ata device was made (it isn't
in the earlier versions of the ata spec).

anyways, your comments about softupdates needing total ordering versus
journals needing partial ordering are wrong.  softupdates only requires
that you do not call 'biodone(x)' until 'x' has been committed to disk.
this is 100% compatiable with the specification feature set, IF those
semantics are actually present in the hardware.

please see the thread beginning with the following commit message for an
extensive discussion of these topics:



On Thu, 14 Jul 2005, Matthias Buelow wrote:

> Jon Dama wrote:
> >Request Barriers under linux exist to prevent the low level kernel block
> >device layer from reordering write operations from the upper file system
> >layers.  Request Barriers consist of nothing more than tagging internal
> >queues within the Linux kernel itself.  They do nothing to resolve the
> >underlying failures of the hardware to provide proper semantics to the
> >block device layer.
> >but, Request Barriers are ultimately useless.  They can't resolve the
> >underlying problems with ide/sata and there are already exposed semantics
> >for scsi.
> If you flush the cache at barriers, on-disk integrity of the journal
> vs. metadata updates is guaranteed.
> mkb.

More information about the freebsd-questions mailing list