Bugzilla – Bug 1212929
Subvolume layout should not depend on whether snapshots are enabled during installation
Last modified: 2023-07-04 17:16:32 UTC
Currently if snapshots were disabled during installation, installer puts root on /@ subvolume. Users can enable snapshots later and it will appear to work as usual until user attempts rollback. At which point content of /@ subvolume becomes completely hidden, it is not visible in snapper output and for a user it looks like mysteriously lost space. Because /@ subvolume contains all other system subvolumes it is also impossible to simply delete it, user must mount and manually clean it up which is rather error prone. The latest user experience on this: https://forums.opensuse.org/t/one-small-snapshot-takes-a-lot-of-disk-space-in-btrfs/167359 I do not see any reason for this artificial difference in subvolume layouts. There is absolutely no harm in having root always on /.snapshot/1/subvolume after installation. This will provide consistent layout and make it easy to enable snapshots later. It will also simplify installer :) Ideally, installer should also create snapper metadata for the initial snapshot unconditionally (but may be this is better done by snapper when snapshots are enabled).
Arvin, IIRC this toplevel '@' subvolume was introduced years ago (around 2016?). I know there was an explicit feature request by the product manager for it. Do you recall the background and reasons? What would be the implications if we changed this to what Andrei suggests?
AFAIU the suggestion is not to remove to @ subvolume but to install into @/.snapshot/1/subvolume (the @ is missing in comment #0). That sound like a good idea.