‹ BackHN Continuity

Thread

Btrfs/ZFS/bcachefs under workloads classic benchmarks skip

179 points · 190 comments · farlight

  1. lproven · · focus · HN ↗
    Interesting although I'd have liked more summaries: there's an awful lot there.

    But the reasons I choose filesystems are more about reliability, failure modes, surrounding tooling, and so on.

    Btrfs fails in several critical areas:

    1. No way to accurately find free space

    2. catastrophic failure on write if a volume fills up, the probability of which is greater because of #1

    3. repair tools usually do not recover a corrupted volume and in my testing are most likely to render as damaged volume completely unreadable, which makes #2 worse

    Put these things together and I can never trust Btrfs again. In the 9 years since I encountered these, I see no effort to fix them, just fooling around witg unimportant side details like performance tweaks.

    Fix the critical issues first then make it faster.

    1. raegis · · focus · HN ↗
      Does the report say any of this? I only see "FAIL" on a few tests with ext4 and one with xfs.
      1. lproven · · focus · HN ↗
        It's not just me and it's had serious problems for years:

        <a href="https:&#x2F;&#x2F;arstechnica.com&#x2F;gadgets&#x2F;2021&#x2F;09&#x2F;examining-btrfs-linuxs-perpetually-half-finished-filesystem&#x2F;" rel="nofollow">https:&#x2F;&#x2F;arstechnica.com&#x2F;gadgets&#x2F;2021&#x2F;09&#x2F;examining-btrfs-linu...

        &lt;- 5Y ago.

        It&#x27;s not materially better now. The devs are in denial about the problems because lots of big users are saying &quot;works fine on my machine.&quot;

        Sure, if you have lots of backups, if you have huge volumes on huge disks and they never fill up...

        But it&#x27;s the default in Fedora, Spiral Linux, Garuda Linux, siduction and others. Personal distros for people&#x27;s own PCs and those are not well-supported enterprise kit.

        1. chasil · · focus · HN ↗
          SUSE also famously uses btrfs on the root file system.

          Don&#x27;t ever let it fill up!

          1. lproven · · focus · HN ↗
            Exactly.

            SUSE takes snapshots before packages are installed. The package manager cannot tell if the disk will fill up as a result because on Btrfs the `df` command lies.

            If its Btrfs root fills up and the OS writes to it, it 100% will self-destruct, and the `btrfs-repair` tool (`fsck` replacement) cannot fix drives and usually makes the corruption worse and renders the drive unreadable.

            This is why in the earlier thread about swapfiles...

            <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=49618087">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=49618087

            ... I advised 2 commenters not to recommend keeping the OS and data in a single big volume. I got downvoted for it. I was rude. Well, I was, but I stand by my comments even though I&#x27;m sorry for my tone when I made them.

            1. chasil · · focus · HN ↗
              You were absolutely correct to be rude.

              A pragmatic fix would trigger read-only failure mode at 90% usage of the mount as a whole, with all subvolumes.

              1. lproven · · focus · HN ↗
                Thanks!

                And you know what, that&#x27;s a great idea.

                1. chasil · · focus · HN ↗
                  The more practical advice is to resize hard partitions down by 5-10%.

                  I have a loopback mount on an fallocate file with a btrfs filesystem inside of it at work. I&#x27;m using send&#x2F;receive to make sure there is hope of recovery.

                  I wrote this several years ago.

                  <a href="https:&#x2F;&#x2F;www.linuxjournal.com&#x2F;content&#x2F;btrfs-centos-living-loopback" rel="nofollow">https:&#x2F;&#x2F;www.linuxjournal.com&#x2F;content&#x2F;btrfs-centos-living-loo...

                  1. lproven · · focus · HN ↗
                    That is excellent stuff -- thank you!
Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.