The ‘private’ volume is already the block device that’s hosting /home. More precisely it’s hosting the contents of /rw; and /home is a bind mount to /rw/home. So once you’ve converted the ‘private’ volume to Btrfs, you are free to create subvolumes anywhere in /rw (which is now the top level subvolume of that Btrfs filesystem), including anywhere in /home, /home/user, …, without having to change anything in fstab or rc.local.
I don’t know if that answers your question? Maybe I’m misunderstanding what you’re trying to do.
If you want to use subvolumes to have multiple versions of the whole home directory and switch between them, it might be easier to go even further and instead have multiple versions of the top level subvolume that’s mounted at /rw. That way you can select the active one using sudo btrfs subvolume set-default rather than by editing fstab (which would complicate things since it’s part of the TemplateVM, not of the AppVM).
bind-dirs and rc.local are too late in the boot process to set up the home directory.
I don’t want to mount the “root” of the btrfs partition directy to /home. I would like to create a home subdir and then mount the root under /btrfs_pool and mount the subdir home as /home. I wonder where I should put this:
I don’t really get why mounting subvolid=5 under /btrfs_pool should be possible but not /home but doesn’t really matter now.
Anyway thanks for you help. Works fine so far.
I am just going to restructure my stuff a little bit. Creating a subolume under /home/user/btrfs_something move everything I want into it and just create some sym-links.
would be nice to install Qubes on root. ZFS is part of the battery of tests that Qubes undergoes. The installer could compile the module (it ships as source) and deploy it before first boot.
all my Qubes OS boxes run on ZFS. it works incredibly well and has saved my ass many, many times.
I am largely not involved with the Qubes OS project at this point.
After using btrfs install for a few months, it doesn’t seem like that much of an improvement over my lvm default install.
It’s performance during shutdown of very large qubes (500+ gib database) slows down as the qube grows. I’ve done defrag on it but within a few days, it is back to taking 30-60 seconds. My lvm machine with the same qube is consistent
A question for qubes users using btrfs. Has your performance stayed the same in the last 3-6 months ? My btrfs system is slower to start appvms (specifically taking a long time to allocate above minimum memory) while my lvm/ext system has stable performance. I’m not sure if it is btrfs or maybe an erratic nvme connection
Maybe you should try to defragment your btrfs volume, especially if it’s on a HDD or if it’s quite full (the more it’s used, the more fragmentation you have).
Warning: Defragmenting a file which has a COW copy (either a snapshot copy or one made with cp or bcp) plus using the -c switch with a compression algorithm may result in two unrelated files effectively increasing the disk usage.