On Fri, Mar 14, 2008 at 12:41:31PM +0100, Benny Amorsen wrote:Ric Wheeler <ric@xxxxxxx> writes:
The only really safe default is to disable the write cache by defaultSo people ARE running their disks in a mode similar to Ramback.
or possibly dynamically disable the write cache when barriers are not
supported by a drive. Both have a severe performance impact and I am
not sure that for most casual users it is a good trade.
Similar, but not as aggressive. Remember, the size of the write cache
on the hard drive is relatively small (small number of megabytes), and
the drive generally is relatively aggressive about getting the data
out to the platters; it's probably not going to keep unwritten data on
the platters for minutes or hours at a time, let alone days. Of
course, unless you use write barriers or some kind of explicit write
ordering, it's going to write stuff out in an order which is
convenient to the hard drive, not necessarily an order convenient to
the filesystem.
Also, if the system crashes, you don't lose the data in hard drive's
write cache, where as the data in Ramback is likely gone. And Ramback
is apaprently keeping potentially several gigabytes dirty in memory
and *not* writing it out very aggressively. So the exposure is one of
degree.
In practice, it's interesting that we've had so few people reporting
massive data loss despite the lack of the use of write barriers.
Sure, in absolutely critical situations, it's not a good thing; but if
I had a mail server, where I really wanted to make sure I didn't lose
any e-mail, having a small UPS which could keep the server going for
just a few minutes so it could do a controlled shutdown on a power
failure is probably a better engineering solution from a
cost/benefit/performance point of view, compared to turning on write
barriers and taking up to two orders of magnitude worth of performance
hit.
- Ted