Will Manjaro make BTRFS Default?

I used btrfs for a while, but have dropped it in my latest re-install.
It has some very nice features indeed, but imho (or just my luck or w/e) it is not as stable wrt bad sectors on the hard disk…

3 Likes

Yea I love btrfs I have been using it for maybe a year now with little to no issues. The only issues I have had were to do with something I messed up. I would love to see Manjaro chose btrfs for it’s file system it would be a welcome addition. I am also new to Manjaro been a long term linux mint user and Manjaro does a lot of things as default that mint never did.

4 Likes

I used it as the default fs for OpenSUSE Tumbleweed just before switching back to Manjaro a few months ago.

It was stable, but not performant. Once you start using more btrfs features on disk (I forgot which ones I was using, other than deduplication), it really bogs down.

That was my experience, anyway.

1 Like

Hi, there’s already a thread about it:

1 Like

Btrfs should be used by those who need it.

8 Likes

There are no plans for making it the default filesystem, but there are plans on making it more easily accessible. Here is (my) current road map:

  1. Add services to automate btrfs maintenance (done)
  • automatically enable those services in calamares
  1. Fix swapfile handling for btrfs in calamares (pull request pending)
  2. Improve btrfs subvolume layout in calamares
  • needs distro configurable options to be merged
  1. Automatically setup grub-btrfs + timeshift-autosnap for btrfs in calamares
  2. Add filesystem drop down menu to automatic mode of calamares
  • needs to be done in C++/qml, so I need to learn it or someone else has to do it
  1. Add btrfs subvolume gui for the partitioning module of calamares
  • way out of my league at the moment
  1. Add some graphical tools for managing btrfs features (hopefully Fedora might do this now that they default to btrfs)

I’m happy if I get to the point 5. I’m hoping to get there by the next release, but we’ll see. If we get there, then btrfs will not be the default, but you will be able to select it very easily, and it will be user friendly enough to use for regular users. Btrfs is a great filesystem option, but it is not good for everyone.

Here is an github issue with sketch on how the filesystem selection might look like:

12 Likes

I am really looking forward to your work and I am really glad that i am a part of this community .

Because you’re still in the planning stage of BTRFS support, may i add this:

Because BTRFS works with sub-volumes (a bit like LVM) you should make sure the user has a possibility to select which sub-volume name to use at what mount-point.
Both for a fresh install and for installs on already existing BTRFS setups.
This becomes more important, actually crucial, when the user uses the same BTRFS to install multiple distros…
OpenSUSE fe. did not have that possibility yet when i tried it, maybe still has not…

This is the item 6 on the roadmap. It also becomes possible with item 3, but then you need to edit a text file before launching calamares to do it.

I’m using an NVME drive with XFS because with BTRS there is a performance penalty. Too slow.

I’m down to try btrfs to see what it’s like however I can’t believe I’m saying this but I don’t want it to replace ext4. I have two external hard drives. One is backup of the other and if they both got corrupt at the same time well you can probably figure the rest. I like server grade stability. It’s one of the things Linux has over Windows that Manjaro tries to maintain while still being arch-like.

1 Like

I recently bought a Synology NAS intended for end-users and it has a default installation of btrfs. Also allowing ext4 but that’s not the default. It seems a large provider of mass storage and backup already made a choice and sells it to the general public, but of course they can limit the kind of usage. I understand that makes a difference but the fs must be stable enough to sell it to non-technical users.

1 Like

Also, Facebook is using btrfs on their production servers. It’s stable and mature system by now.

However, I don’t think the ecosystem around is very beginner friendly yet. That is what I would wish to address: make a sane and stable default setup and automate the maintenance as much as possible.

7 Likes

The main thing that bogs down btrfs is having a ton of snapshots that you don’t need. If you just make snapshots and never clean any of them up your gonna have a big issue at some point. I recommend keeping at most 20 snapshots at any one time.

Usually my rule of thumb is 1 snapshot a month keep and than several weeks of past snapshots. If you do a lot of stuff in one day than I would trade all the monthly snapshots for hourly snapshots just in case you would need to go back to something in the last hour.

If you don’t care about a minor slowdown you can keep up to 50 snapshots at that point it starts to slow significantly.

I think that btrfs is super user friendly. Most things can be done with a single command and the documentation is top notch. For being terminal driven it’s really simple.

You need to set the right options on mount. Before I did that I was just using the default and on my nvme it sucked but than I optimized it with some nvme/ssd friendly options.

  • ssd: use SSD specific options for optimal use on SSD and NVME

  • noatime: prevent frequent disk writes by instructing the Linux kernel not to store the last access time of files and folders

  • space_cache: allows btrfs to store free space cache on the disk to make caching of a block group much quicker

  • commit=120: time interval in which data is written to the filesystem

  • compress=zstd: allows to specify the compression algorithm which we want to use. btrfs provides lzo, zstd and zlib compression algorithms. Based on some Phoronix test cases, zstd seems to be the better performing candidate.

  • Lastly the pass flag for fschk in the fstab is useless for btrfs and should be set to 0.

3 Likes

But it is picky about its friends. If you look it from the point of view of a sysadmin operating from command line and compare it with lvm+ext4, it is just a delight to use, super simple and understandable and efficient. If you look it from perspective of a windows refugee or a casual user, it is too complicated to even understand its awesome features and it comes with some pretty severe caveats that can leave their system unbootable beyond their ability to repair. It’s this latter issue I wish to tackle.

I want to have a default setup that guides new users away from the caveats and automates the necessary maintenance work, so for simple users it just works and does not do anything weird.

4 Likes

I do agree with you. Even just having to install an operating system is too much for most people let alone manage a file system.

I think if there were more distros that used btrfs by default and more gui applications were developed for it oh and the file managers actually reported the right data used on the partions than it would be super user friendly.

I use Btrfs on all my machines, with compression, snapshots, subvolumes. This system is not for newbies. There is no mature disaster recovery tools like for ext4 or even windows systems. And most importantly Btrfs tends to crash hard once run out of space. Tell that to ex-Windows users, that once you exhausts space by accident, you can’t just delete few files and reboot and everything is back to normal.
Until this is solved I don’t think it should be a default FS for Manjaro.

2 Likes

This. Also it does not help that most tools are going to report the free space wrong, and if not kept in check the metadata will fill up the disk. This is where btrfs-maintenance comes in, doing the space management tasks automatically on the background. Probably also still needs some kind of service to warn about low disk space with desktop notifications.