According to the archwiki article on a swapfile on btrfs: https://wiki.archlinux.org/title/Btrfs#Swap_file

Tip: Consider creating the subvolume directly below the top-level subvolume, e.g. @swap. Then, make sure the subvolume is mounted to /swap (or any other accessible location).

But… why? I’ve been researching for a bit now, and I still don’t understand the benefit of a subvolume directly below the top level subvolume, as opposed to a nested subvolume.

At first I thought this might be because nested subvolumes are included in snapshots, but that doesn’t seem to be the case, according to a reddit post… but I can’t find anything about this on the arch wiki, gentoo wiki, or the btrfs readthedocs page.

Any ideas? I feel like the tip wouldn’t just be there just because.

  • Chewy
    link
    fedilink
    arrow-up
    4
    ·
    edit-2
    6 months ago

    I personally prefer top level subvolumes (@, @home, @var-log, @var-cache), because it makes it easier to know which system folders are subvolumes and back them up accordingly. They are then mounted at their respective location under /.

    E.g… I do snapshots looking at the btrfs filesystem and its top level subvolumes. I’m not doing snapshots going from the mounted root filesystem. I.e. I’d do a snapshot of @home, not a snapshot of /home.

    If you want to use backup/snapshot automation tooling, I’d recommend looking at how they expect the subvolumes to be set up. E.g. snapper and timeshift expect a specific layout (which can stil be done manually after OS installation, but why bother).