Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 07 Feb 2002 22:23:11 +0100
From:      Matthias Andree <ma@dt.e-technik.uni-dortmund.de>
To:        freebsd-stable@freebsd.org
Subject:   softupdates and tagged command queueing
Message-ID:  <m3g04d2dhc.fsf@merlin.emma.line.org>

next in thread | raw e-mail | index | archive | help
Hello,

I have -- some time ago -- skimmed over the Usenix papers on
softupdates. Softupdates go lengths to guarantee file system
consistency, possibly mapping a single in-core updates to several
sequential on-disk updates.

We all know that enabled write caches in drives can reorder writes, so
I'm usually disabling all the write caches with camcontrol for SCSI or
hw.ata.wc=0 in /etc/loader.conf for ATA drives to not have my file
systems hosed when the power fails or some other nasty things
happen. (Luckily, power outages are VERY rare in big cities in Germany,
and so nothing bad has happened to my file systems so far.)

However, what impact does tagged command queueing (which is supported
for virtually all SCSI drives and IBM DPTA, DTLA and IC35L... ATA
drives) have on the ordering requirements that softupdates impose?

I think drives can reorder writes with tagged queueing, that's the whole
idea about the tags in this queue. How does the kernel/file system avoid
that a write reordering through tagged command queueing undermines the
consistency guarantees that ffs+softupdates makes? Does it do anything
about this at all or does the kernel just assume that a disk drive does
not reorder writes?

Any hints appreciated (I can read C if it's not too obfuscated, so
pointers into the kernel source are OK).

Thanks a lot in advance.

-- 
Matthias Andree

"They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety."         Benjamin Franklin

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




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