Btrfs/ZFS/bcachefs under workloads classic benchmarks skip

151 points · 138 comments on HN · read original →

Points and comments are a snapshot, not live.

Benchmark compares ZFS, Btrfs, and bcachefs on multi-device CoW workloads.

This benchmark tests multi-device CoW filesystems (ZFS, Btrfs, bcachefs) under workloads that classic benchmarks skip, including parity layouts, mirroring, snapshots, compression, and corruption recovery. Tests run on GitHub-hosted Ubuntu VMs using loop devices, with host-calibration anchors. Results show a summary index (median = 100) across many metrics like sequential/random I/O, fsync latency, tree ops, sparse files, reflink, degraded mode, rebuild, and near-full writes. Corruption probes (SURVIVED/FAIL/UNPROVEN) indicate checksum-based filesystems recover from underlying-block overwrites. Key comparisons: bcachefs/replicas2 and zfs/mirror show strong scores; ext4 and xfs fail corruption tests due to lack of end-to-end checksums.

What commenters are saying

The thread is split: some praise bcachefs performance while noting its developer was removed from mainline Linux for violating contribution rules. Others defend bcachefs as technically sound and highlight its per-file replication and erasure coding. A key criticism targets the test methodology: using loop devices on shared VMs, undefined 'Overall Core' metrics, and bespoke workloads that may not represent real systems. The author responds that all tests are open-source and invites pull requests. ZFS users report reliability but modest performance; one commenter says Btrfs remains the default for guaranteed kernel inclusion, despite alternatives being 'amazing'.