Btrfs on F17 + swap file

Előzmény (3. bekezdés).

Ha valaki szeretne swap fájlt használni Btrfs fájlrendszerrel (F17 alatt), akkor nehézségekbe ütközik, mivel Btrfs egy "copy on write" FS, ezért lyukak lennének a swap fájlban ha engedné, és mivel a swap alrendszer blokk szinten szeretne ugyanoda írni, az korrupttá tehetné az FS-t, mert lehet hogy közben a fájlt már máshova map-pelte.

A loopback device egy lehetőség, és SSD-n szerintem kutyát nem izgatja a swap performancia. Tehát egyetlen Btrfs partícióval az alábbit lehet tenni:

su

# swapfile létrehozása

dd if=/dev/zero of=/swapfile bs=1M count=5000

# és megformázása

losetup loop0 /swapfile
mkswap /dev/loop0
losetup -d loop0

# rc.local fájl visszaállítása, mivel F15 óta eltávolították, de systemd elindítja ha létezik (meglátjuk a jövőben mi lesz az alternatívája, max egy saját init script létrehozása és "systemctl enable script.service")

cd /etc/rc.d
touch rc.local
chmod 755 rc.local

# edit rc.local

#!/bin/sh
losetup loop0 /swapfile
swapon /dev/loop0

# reboot ;)

Megjegyzés: ma csorgott le F17-re a 3.6.1-es kernel, de még ez sem támogatja gyárilag a Btrfs-re swap file-t, ezért is ez a bejegyzés.