Re: Linux 2.6.29
From: Ric Wheeler
Date: Mon Mar 30 2009 - 11:33:45 EST
Mark Lord wrote:
Ric Wheeler wrote:
I am confused as to why you think that barriers (flush barriers
specifically) are not equivalent to drive write cache. We disable
barriers when the write cache is off, use them only to insure that our
ordering for fs transactions survives any power loss. No one should be
enabling barriers on linux file systems if your write cache is
disabled or if you have a battery backed write cache (say on an
enterprise class disk array).
Chris' test of barriers (with write cache enabled) did show for
desktop class boxes that you would get file system corruption (i.e.,
need to fsck the disk) a huge percentage of the time.
..
Sure, no doubt there. But it's due to the kernel crash,
not due to the write cache on the drive.
Anything in the drive's write cache very probably made it to the media
within a second or two of arriving there.
A modern S-ATA drive has up to 32MB of write cache. If you lose power or suffer
a sudden reboot (that can reset the bus at least), I am pretty sure that your
above assumption is simply not true.
So with or without a write cache, the same result should happen
for those tests. Of course, if you disable barriers *and* write cache,
then you are no longer testing the same kernel code.
Here, I still disagree. All of the test that we have done have shown that write
cache enabled/barriers off will provably result in fs corruption.
It would be great to have Chris revise his earlier barrier/corruption test to
validate your assumption (not the test that he posted recently).
I'm not arguing against battery backup or UPSs,
or *for* blindly trusting write caches without reliable power.
Just pointing out that they're not the evil that some folks
seem to believe they are.
Cheers
I run with write cache and barriers enabled routinely, but would not run without
working barriers on any desktop box when the drives have write cache enabled
having spent too many hours watching fsck churn :-)
ric
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/