BTRFS and Qubes OS

That looks like you ran

$ lsblk -no mountpoint

instead of the full command line

$ lsblk -no mountpoint /dev/dm-0

Oops yes you’re correct. I misread the full command.


lsblk -no mountpoint /dev/dm-0

Now prints


Hmm one thing that might help is doing an extra step of shutting down all your VMs ($ qvm-shutdown --all --wait, then check e.g. in the domains widget that they’re really all gone, maybe even wait a few more seconds) before you shut down the system as a whole.

Normally that should be automatic, but I suspect there’s a bug in some layer of the shutdown procedure.

1 Like

This works to prevent the error. So I’ll just use this when shutting down until I gain the experience required to troubleshoot more and submit a correctly formatted bug report. For the interim, thank you!

I just installed 4.1 and intended to configure it with BTFS with my laptop/SSD but kept going round in circles.

When you accept the default partitioning you get LVM, but if I selected custom option and BTRFS it only gave an error saying it could not validate the disk configuration, and nowhere does it say why. I’m guessing that I needed to also set up the partitioning on my own but there is nothing that even gives a hint what sizes for what partition or even how many partitions I needed. I was just stuck in a loop until I gave up and went with the LVM default. I’ll have to redo it obviously but realized I needed to do some research, but before trying again I thought I would ask a question: Why do we not have an automatic option where you can just select between LVM and BTRFS as an option? Either that or the custom section should give a hint on what it needs to be successful.

1 Like

You can try wipe out disk first then just select custom > change lvm thin to btrfs > create automatically.

1 Like

I tried again and the trick is apparently is to manually delete the partitions before clicking the “Click here to create them automatically”. After doing that I was able to continue but got an exception from anaconda during the actual partitioning.

"Error: use the -f option to force overwrite of /dev/mapper/luks-{big hex number} "

Since I don’t have a running system yet I could not copy the entire stack trace off the system. The attached photo is the top of the trace. I’ll go back and try again to see if I can get past this error somehow.

1 Like

My next attempt was successful installing 4.1. with btrfs. I still have no idea what went wrong with my previous attempts other than possibly user error. In any case, this time it worked. I can’t wait to explore the new system.

1 Like

it’s actually $uuid number, that happen when you trying to format btrfs filesystem atop of another filesytem.

you can even change the default checksum if you use custom install by shell / manual partition.

I moved to R4.1 with Btrfs and it’s been a while, I’m experiencing the same performance improvements. This is especially noticeable when the VM uses swaps.

My SSD is a 860 EVO (TLC) and it’s fine, but other SSDs may have performance degradation.

1 Like

That issue ^^^ appears to be independent of any particular filesystem or storage driver, its current title is “4.1rc2 VM startup performance degrades linearly with the number of running VMs”


My post is too old to edit but I just noticed that this only applies to R4.0. In R4.1 it was fixed and the upfront delay should be gone, no matter which storage driver is being used.

1 Like

A post was split to a new topic: Hard Disk I/O Makes Qubes Completely Unusable After Upgrade to dom0 kernel 5.10.112-1

@marmarek Sorry if this is wrong place for asking, but I wanted to have insights on where the ecosystem is moving.

  • TLVM adds lots of overhead, complexity and performance penalties
  • BRTFS is offered as second installation candidate under QubesOS installer, where XFS is not offered
  • TLVM is still default installation method
  • 4k templates are coming along, proving BRTFS to be resilent here, and where TLVM would probably benefit and loose some drawback performance points when compared to BRTFS.

The Reason I ask is that other OSes switched to BRTFS and I’m wondering if Heads should also take steps into having brtfsprogs built and included. wyng-backups now supports xfs/brtfs as well. But as you know, Heads cannot pack everything for all use cases so question here is:

Is QubeSOS default partitioning scheme expected to change to BRTFS by default on Q4.2 release or is TLVM still expected to stay the default instlalation method?

cross-linking to issue showing newer OS installers and Heads documentation and filesystem support might need to be reconsidered:


Answer was: not for 4.2. And no. Templates 4k are not coming.

Nice discussion though: Switch default pool from LVM to BTRFS-Reflink · Issue #6476 · QubesOS/qubes-issues · GitHub

Would be a good time to distill Switch default pool from LVM to BTRFS-Reflink · Issue #6476 · QubesOS/qubes-issues · GitHub content prior of continuing investing energy under Bees and brtfs deduplication

Meaning: why go BRTFS with bees (offline dedup) if OpenZFS can do what BRTFS but better (compression, encryption) with online dedup (and therefore no need of a background running daemon like bees that dedup AFTER the fact instead of as write happen on FS…). OpenZFS is sooo sexy to say the least. BRTFS performance tests from QubesOS team (offline discussions) to switch to BRTFS are no go…

This would need OpenZFS deployment under Qubes ISO though, which I guess would need its own efforts and not waste efforts on going sideways. Agreed that Ubuntu deploys it (DKMS), while Fedora doesn’t take a stance there and where Oracle didn’t change licence even today. Will need participation in other threads; not this one.

ZFS pool as of today exists. But instructions for install are manual even if really good. Would need to test and convince @marmarek to have OpenZFS inclusion even if Fedora doesn’t take a stance :confused:

@Rudd-O : Can you point to the conclusions (read your articles) that could make QubesOS budge on considering integrating OpenZFS into the QOS installer?


If switching to another file system now then bcachefs would be the better option.

ZFS has been an industry standard for 15 years now while bcachefs just got merged within the linux kernel.

Problem here is licensing and depending on dkms after new kernel deployment. Or consider this the other way around and check how gentoo/Ubuntu decided to go OpenZFS way while Fedora didn’t. I highly doubt QubesOS will differenciate their ways from Fedora, and Fedora is not talking about it while Oracle doesn’t budge on licensing issues.

Not sure how OpenZFS would be included, even less with understood goal of going eventually UKI way (where initrd+kernel+boot options would be delivered under a signed unified kernel).

How to get this debate forward? OpenZFS seems to be the way.

Why bcachefs, @quantum?