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.

  • Mactan@lemmy.ml
    link
    fedilink
    arrow-up
    0
    ·
    3 months ago

    not to do the “read the manual” thing, but the manual is linked from archwiki and has at least 5 bullet points of limitations and all the whys to go with them

    • moonpiedumplings@programming.devOP
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      3 months ago

      Yeah, I read that manual but it didn’t answer my question.

      The big problem is that the arch wiki describes a setup with nested subvolumes first (in a subvolume below @ or whatever your root subvolume is), but then suggests in a tip to use a subvolume directly below the top level subvolume. The limitations mentioned in that manual don’t seem to apply to either setup, as they would prevent swap from working, which is not the case. I have tested both setups and they work fine — or so it seems. I’m worried there is some hidden gotcha I’m missing.

      in addition to that, some of those limitations simply don’t apply to my setup, as I only have a single device.

  • Dremor@lemmy.world
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    3 months ago

    Not a specialist, but I suppose it has to do with having different configurations for different top level folder. In Unix-like systems, every top level folder have a different purpose, and what works for the root may not for /tmp, /swap, etc.

    In those example, no need to snapshot /tmp, as it is a forder whose file are bound to be deleted, and for which being able to restore has no use.
    /swap is pretty similar , and is often formated with a dedicated filesystem.
    /usr often only change during the package manager transactions, so snapshots are often tied to that, while /home may be set to keep daily snapshots.