Aristotle:

Thank you for the explanation. What you wrote makes sense. The papers that I referenced [1] didn't analyze the consequences of data loss failures, only the mechanism (if any) that the filesystem code has for detecting and responding to failures. Those papers seem to suggest that reiser3 is better than the others (but not perfect) at the goal of detecting more possible failures, handling them in a fail- safe manner (thus trading off availability to gain correctness) and handling a variety of failures in a consistent way. However, if there is an error which isn't detected by the filesystem code (such as a silent mis-write), then I can see how the less redundant reiser3 data structure is more brittle.

Thanks again.

And for my own proclivities, reiserX goes too far toward the
performance end of the scale.
...
Hence my general dislike of reiserX.


Here are some personal proclivities of my own:

I don't like ext3. It seems to be engineered "ad-hoc". The recent revelations that (a) it turns write-barriers off by default, (b) nobody knows how much performance delta we're talking about, (c) nobody knows how much safety delta we're talking about, is just the latest detail to make me think that ext3 is engineered primarily by ad-hoc response to complaints (or by ad-hoc improvements). I won't go into more detail.

I like reiser3 in general for the reasons that I listed above. However, "in general" is probably not the right way to choose a local filesystem. Rather, the specific use case probably makes all the difference. For Tahoe LAFS [2] storage servers, reiser3 is probably a good choice because it runs on Linux, is fast, and packs small files for better space efficiency. Tahoe does not rely on local filesystems for data correctness or longevity, so the chance of data corruption or loss isn't that important of a criterion, but reiser3's tendency (mentioned above) to fail loudly and fail-stop is probably better operationally than the alternative of grinding along quietly while losing or corrupting data or suffering reduced performance. Also the fact that other large data-farming operations like the Internet Archive, Mozy, and EMC Centera [4] have used reiser3 extensively gives me confidence. Finally, the fact that reiser3 is old and does not get tweaked or improved is reassuring -- the worst failures we're likely to encounter are new bugs or new filesystem "improvements" that we didn't understand.

I like ZFS, and I'm happy using it on (Free Software, Open Source) Solaris. My web server, http://zooko.com is running Nexenta [3] which uses ZFS by default.

I like BTRFS, and furthermore I predict that it will be a huge success in a few years because (as Andy Isaacson showed me), you can upgrade your ext3 filesystem in place to BTRFS, and even revert it again to the state that it was in before you upgraded it to BTRFS. I think the main reason that ext3 is the de facto standard nowadays is because ext3 was so data-backwards-compatible with ext2, and since BTRFS is highly data-backwards-compatible with ext3 (as well as having many other great features, as well as being architected by Chris Mason who was responsible for much of the good stuff in reiser3, as well as being funded and supported by Oracle), then it is sure to be a winner.

Regards,

Zooko

[1] http://allmydata.org/trac/tahoe/wiki/Bibliography#LocalFilesystems
[2] http://allmydata.org
[3] http://nexenta.org
[4] http://lkml.org/lkml/2008/5/18/260

Reply via email to