On Fri, 19 Apr 2019 09:20:41 +0200 Daniel Cegiełka <daniel.cegie...@gmail.com> 
wrote:
> * ZFS
> Resource-consuming. Designed for large servers.
> 
> * btrfs
> Rather a good choice for server rooms (Facebook).
> 
> * bcachefs
> A good competition for btrfs/ZFS.

One thing that ZFS offers that most other filesystems don't is very strong
data consistency guarantees. This is important especially if you plan to
store data for any length of time. Turns out storing data for years or even
decades is actually quite hard, due to generic bit rot (hardware failure,
cosmic rays, etc.) even when using mirrored RAID.

In fact, in many filesystems there are very weak – or no! – guarantees that
the data you're reading is actually correct. Systems like ext4 simply assume
that the data written to the disk will never change. AFAIK, it has
essentially no mechanism at all to deal with silent data corruption.

Unfortunately, there are also many downsides to ZFS; the license, much bloat
("kitchen sink and then some"), performance on "old" hardware, etc.

At a glance, btrf also seems to have *some* data consistency guarantees,
although I'm not sure if they're as good as ZFS. Besides, btrfs doesn't seem
stable as a general purpose filesystem[1], and I'm not sure if it'll ever
be.

I had never heard of bcachefs before, but it seems interesting. Checksums
are done per file (extent)[2] rather than per block (which is what ZFS
does), which will make data recovery harder after corruption. Still, it's
better than ext4 or JFS (which has no checksums at all). According to the
Patreon homepage it seems to be in the early stages of being stable.

Personally I would consider data integrity guarantees to be the most
important feature of a filesystem, and will gladly lose performance or
features for it. After all, what good is high performance or fancy features
if your data is corrupt?

Back to JFS: it offers no strong data consistency guarantees, and would
consider it to be the same class of legacy file system that ext4, xfs, ufs,
etc. belong to. Also, according to Wikipedia there is a problem with its
Journal design that may cause loss of data:

> [Journal writes] can be postponed until there is another trigger —
> potentially indefinitely, which can cause data loss over a theoretically
> infinite timeframe.

Yikes(?)

Conclusion: bcachefs is probably the future(?)

[1]: https://github.com/mosteo/btrfs-status
[2]: https://www.patreon.com/posts/bcachefs-extents-20740671

Attachment: pgpMeBe08q0OP.pgp
Description: OpenPGP digital signature

Reply via email to