I’m attempting a new install. I want to use btrfs with swapfile.

Do I need to disable compression on my swap subvolume?

Is there anything else I should keep in mind for fstab if I want to, say, not keep track of my Downloads folder when snapshotting?

Here is my fstab:

LABEL=arch@btrfs        /               btrfs           rw,relatime,discard=async,space_cache=v2,subvolid=256,subvol=>

LABEL=arch@btrfs        /home           btrfs           rw,relatime,discard=async,space_cache=v2,subvolid=257,subvol=>

LABEL=arch@btrfs        /var/cache/pacman/pkg   btrfs           rw,relatime,discard=async,space_cache=v2,subvolid=259>

LABEL=arch@btrfs        /var/log        btrfs           rw,relatime,discard=async,space_cache=v2,subvolid=258,subvol=>

LABEL=arch@btrfs        /.snapshots     btrfs           rw,relatime,discard=async,space_cache=v2,subvolid=260,subvol=>

LABEL=arch@btrfs        /swap           btrfs           rw,relatime,discard=async,space_cache=v2,subvolid=263,subvol=>

LABEL=efi@fat32         /efi            vfat            rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=asci>

/swap/swapfile          none            swap            defaults        0 0
  • Illecors@lemmy.cafe
    link
    fedilink
    English
    arrow-up
    13
    ·
    6 months ago

    Do I need to disable compression on my swap subvolume?

    https://wiki.archlinux.org/title/Btrfs#Swap_file

    Is there anything else I should keep in mind for fstab if I want to, say, not keep track of my Downloads folder when snapshotting?

    Just create a separate subvolume for it. Snapshots do not work recursively, so it will be left alone.


    Mount options also only take effect on the first mount of the device. Since it looks like you only have 1 btrfs device - only / needs the options, really.

    • Actual@programming.devOP
      link
      fedilink
      English
      arrow-up
      5
      ·
      6 months ago

      Mount options also only take effect on the first mount of the device. Since it looks like you only have 1 btrfs device - only / needs the options, really.

      I didn’t know this. Thanks!

      • Illecors@lemmy.cafe
        link
        fedilink
        English
        arrow-up
        3
        ·
        6 months ago

        Glad I could help! Just to make things a bit clearer - this is a btrfs thing. Other FSes behave differently.

  • bazsy@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    ·
    6 months ago

    Do I need to disable compression on my swap subvolume?

    Short: No

    Long: it doesn’t matter when mounting multiple subvolumes of the same btrfs partition the options from the first one (usually /) will apply to all. So even if you disable it, that will be ignored.

    The old way of creating swap shows the chattr +C line which disables CoW. The same method should work for your Downloads folder since CoW is needed for snapshotting.

  • LemmyHead@lemmy.ml
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    6 months ago

    Looks good. I also add compress=zstd to / subvolume. I don’t add discard because it’s set up in LUKS for me. I also don’t use a separate subvolume for /var/log, so where possible, compression is used. Journald auto adds +C attr to prevent COW being active on those files because it’s unnecessary. I also use a separate swapfile instead of a separate fs.

  • M500@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    6 months ago

    Are you sure you can use a swap file with btrfs? I did not think you could do that. Maybe I was on old software last time I tried.