Re: [dm-devel] Barriers still not passing on simple dm devices...

From: Theodore Tso
Date: Sun Apr 05 2009 - 00:11:36 EST


On Sat, Apr 04, 2009 at 11:20:35AM -0400, Ric Wheeler wrote:
> Barriers do work as we have them, but as others have mentioned, it is
> not a "free" win - fsync will actually move your data safely out to
> persistent storage for a huge percentage of real users (including every
> ATA/S-ATA and SAS drive I was able to test). The file systems I
> monitored in production use without barriers were much less reliable.

The problem is that, as long as you're not under memory pressure, and
not pushing the filesystem heavily, ext3 didn't corrupt *that* often
without barriers. So people got away with it "most of the time" ---
just as applications replacing files by rewriting them in place using
truncate and w/o fsync would "usually" not lose data after a crash if
they were using ext3 with data=ordered mode. This caused people to
get lazy/sloppy.

So yes, barriers were something that were largely ignored for a long
time. After all, in a server environment with UPS's, without crappy
proprietary video drivers, Linux systems didn't crash that often
anyway. So you really needed a large base of systems and with the
ability to root cause failures such as what Ric had at EMC to see the
problem.

Even now, the reason why ext3 doesn't have barriers enabled by default
(although we did make them the default for ext4) is because Andrew
doesn't believe Chris's replication case is likely to be true for most
users in practice, and he's concerned about the performance
degradation of barriers. He's basically depending on the fact that
"usually" you can get away without using barriers. Sigh....

- Ted

P.S. Of course, distributions should feel free to consider changing
the default on their kernels. SLES has already if memory serves
correctly. I don't know if RHEL has yet.

--
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/