Hello,
I'm in total opposition to this proposal as a long-time Fedora user. The btrfs is
unstable and not ready for production. Most of what I'm about to write is admittedly
anecdotal but it's the only file system in Linux which has actively and regularly
caused me to lose data on desktops, laptops, servers and even on mobile phones when I
haven't taken precautions and done regular backups. Something I don't have to
actively do when using ext4 in my workstations and notebooks.
This has happened to me because OpenSUSE and Jolla's Sailfish OS use btrfs as their
default file system. I've tried using btrfs from time to time in various environments
to see how it's progressing. However there hasn't been fixes for long-standing
issues in btrfs when it comes to desktops and laptops in years. Btrfs can still for
example run out of its automatically manager "metadata space" which it cannot
recover from. Even the relatively recent improvement in kernel 5.8 have already been
proven to not improve the situation much although at least the subvolume deletion failing
over lack of disk space is now handled slightly better.
You could probably just ask the issue statistics from OpenSUSE and SUSE to see how
unreliable btrfs is in reality. I hypothesise that a large majority of OpenSUSE users
don't actually use the supposed default file system of their the distro and instead
opt to use zfs, xfs and ext4.
I'm honestly in shock that this is even a discussion right now again. If there is a
legitimate urgent need to switch the default file system for desktop and laptop users (and
I understand why there is pressure to do so since ext4 has a number of shortcomings), then
whatever legal obstacles there are blocking the use of zfs should be cleared and zfs
should be used instead. Canonical with their Ubuntu is already trying to do this through
use of OpenZFS. The xfs has started to have issues as of late but even it would be a
legitimate choice.
The absolute first issue with btrfs in desktops and laptops is that it requires active
conscious maintenance from the end-users to avoid large number of potentially disastrous
situations as well as unconscious regular automatic constant maintenance on background
which consume the disks and eat resources. Based on my experiences btrfs works best when
you don't use the features you supposedly install it for. It's snapshots are a
great example of that. Which is why I suspect that most btrfs "success stories"
are ones where the users don't take advantage of the btrfs' features or have
actively turned them off conscious of issues they bring up later on. Using btrfs
doesn't make using PC easier and instead does the opposite by adding more work.
Meanwhile zfs has reliable and working snapshots feature which is in actual use.
With btrfs the following is a very common situation: It's not too uncommon for users
to have their entire disks full or near full. Okey, users will then delete some files,
maybe few large applications, but in btrfs that is often not enough. User has to manually
then run btrfs-balance operation with filters and it usually resolves the situation but it
will start happening more frequently until it's completely unsolvable for the end-user
without major external assistance or them performing a reformat.
And what inevitably happens with btrfs root volume is that the system can and will stop
booting after period of "strange behaviour". Sometimes it can be resolved in
maintenance mode but usually the end-user then has to boot a live environment, chroot
their system, and clear all hopefully backup'd large files if the system is not in
read-only (or clear that obstacle first), clear (most) snapshots, run btrfs-balance
operation and do it very carefully or the entire file system might be lost. This will take
a very long-time (ranging from 30 minutes to some hours and up to 3-4 days based on my
experiences) even on a relatively small SSDs (not to mention HDDs) and it also will
shorten SSD lifespan.
If laptop is put into sleep mode without users noticing that btrfs is running maintenance
ops on background (and it often is), the likelihood that file system will get corrupt goes
up the roof. Something users can do is use TLP and as a first aid set
SATA_LINKPWR_ON_BAT=max_performance for TLP which then will shorten the amount of time
laptop can be used without recharging. And this has been a standing issue at least since
2015 with no real fix on sight other than "lol, stop using btrfs" like one
commentator at Reddit wrote.
The btrfs-check is also a massive can of worms and it cannot be safely run. At least not
without reading pages upon pages of manual and becoming an expert in understanding how
btrfs works. Expecting every Fedora end-user to do this is unrealistic in many different
ways.
The btrfs has no native encryption to my knowledge. However alternatives such as zfs
already has a trusted and reliable encryption used in numerous FreeNAS installations
around the world.
And much of these issues and many more are straight up mentioned in btrfs' own wiki
pages at
kernel.org where one of the most shocking admissions is: "So, in general, it
is impossible to give an accurate estimate of the amount of free space on any btrfs
filesystem. Yes, this sucks."
Source:
https://btrfs.wiki.kernel.org/index.php/FAQ#Why_is_free_space_so_complica...
And these are the brains before btrfs admitting this that there is no solution for this.
No amount of userspace tools developmen and UX/DE integration is going to solve this for
the end-users.
Please, don't switch to btrfs. It is not mature. It is not well-understood. It is not
properly "battle-tested". It can still die on its own. It's just a
ridiculous meme file system. At this point it would take me some decade of smooth sailing
at OpenSUSE side to start believing that btrfs is ready for prime time in my own personal
Fedora systems. Even 5 years of smooth sailing would give more faith in it. But as it
stands I have to strongly oppose btrfs. It's too much of a headache with no relief
in-sight.
--
Antti (Hopeakoski)
P.S. Sorry for this emotional nature of this message. But I really, really like my Fedora
and I really, really dislike btrfs due past highly negative experiences with it (some of
them happening to me as recently as last year).