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
  • rotopenguin@infosec.pub
    ·
    edit-2
    11 months ago

    I don't see how swap has much chance to fragment. A swapfile has to be fully allocated up front and cannot be CoW. If it's allocated well in the first place, it will stay that way.

    The swap code doesn't really do I/O through the filesystem. AIUI, it locks the file, gets the disk block #s from the FS, and after that it accesses those blocks directly.

    • recursive_recursion [they/them]@programming.dev
      ·
      11 months ago

      From the BTRFS manual:

      "Nodatacow implies nodatasum, and disables compression."

      "Datasum implies datacow"

      Based on these notes I'd assume that since swapfile disables COW that it also disables checksumming which is where the risk of fragmentation occurs

      I could be wrong tho