Everything I’ve read says just make the whole swap subvolume nodatacow.
I bet they probably perform about the same. But it made sense to me that this way is better, it’s just cleaner isolation. (And saves you a command . ) Prevents snapshots and everything you don’t want as well.
(But I’ll never know, I only use partitions! hah.)
So, since the swapfile is in a subvolume and has nocow everything is good, right? It could be better creating a swap partition, but it’s a story for another time.
I have a LOT of extra p, if you need some I’ll hook you up, I mean, uppp
(1/1) Creating Timeshift snapshot before upgrade...
Using system disk as snapshot device for creating snapshots in BTRFS mode
Mounted '/dev/nvme0n1p2' (subvolid=0) at '/run/timeshift/2048/backup'
btrfs: Quotas are not enabled
Creating new backup...(BTRFS)
Saving to device: /dev/nvme0n1p2, mounted at path: /run/timeshift/2048/backup
Created directory: /run/timeshift/2048/backup/timeshift-btrfs/snapshots/2026-02-12_13-22-57
Created subvolume snapshot: /run/timeshift/2048/backup/timeshift-btrfs/snapshots/2026-02-12_13-22-57/@
Created subvolume snapshot: /run/timeshift/2048/backup/timeshift-btrfs/snapshots/2026-02-12_13-22-57/@home
Created control file: /run/timeshift/2048/backup/timeshift-btrfs/snapshots/2026-02-12_13-22-57/info.json
BTRFS Snapshot saved successfully (0s)
Tagged snapshot '2026-02-12_13-22-57': ondemand
------------------------------------------------------------------------------
Detecting snapshots ...
Found snapshot: 2026-02-12 13:22:57 | timeshift-btrfs/snapshots/2026-02-12_13-22-57/@ | ondemand | {timeshift-autosnap} {created before upgrade} |
Found snapshot: 2026-02-12 00:00:01 | timeshift-btrfs/snapshots/2026-02-12_00-00-01/@ | daily | N/A |
Found snapshot: 2026-02-11 00:00:00 | timeshift-btrfs/snapshots/2026-02-11_00-00-00/@ | daily | N/A |
Found snapshot: 2026-02-10 00:00:01 | timeshift-btrfs/snapshots/2026-02-10_00-00-01/@ | daily | N/A |
Found snapshot: 2026-02-08 19:24:23 | timeshift-btrfs/snapshots/2026-02-08_19-24-23/@ | ondemand daily | {timeshift-autosnap} {created before upgrade} |
Found snapshot: 2026-02-08 12:55:05 | timeshift-btrfs/snapshots/2026-02-08_12-55-05/@ | ondemand | Manualmente |
if [ ! -e "${prefix}/grub-btrfs.cfg" ]; then
echo ""
else
submenu 'Manjaro Linux snapshots' {
configfile "${prefix}/grub-btrfs.cfg"
}
fi
Found 6 snapshot(s)
Unmount /tmp/grub-btrfs.gzgkf9xqsI .. Success
:: Elaborazione delle modifiche al pacchetto...
(1/1) aggiornamento in corso di manjaro-kde-settings [################################################] 100%
Nuove dipendenze opzionali di manjaro-kde-settings
sddm-breath-theme [installato]
:: Esecuzione degli hook di post-transazione...
(1/1) Arming ConditionNeedsUpdate...
There’s some code in the output; automatic snapshot creation seems to work
This is where you need the extra p. (Where you mounted it.)
findmnt /swapp
You should see a SOURCE of something like:/dev/..p2[@swapp] and then all the other mount options like subvol=/@swapp,notdatacow(if you used it), to see if it’s correct.
If you don’t mount /swapp before creating the swap file, it won’t be in that specific subvolume. Obviously, you haven’t followed the instructions precisely enough.
There’s a difference between storing the file in the / subvolume or in /swapp.
You must first delete the file, then mount the subvolume, then recreate the file, and then correct the fstab file. Otherwise, you risk corrupting the file system or the swap file.
This is one of the reasons why a swap partition is preferred by many professionals.
My subvolume is called swapp with 2 p because I had a folder called swap, so to be sure I added the extra p, I didn’t create a folder and named it swapp, I opened dolphin, went to /, right click, open terminal here (yes I like to use the GUI when possible) and then gave those commands exactly (except the path and size) as in the wiki
As I said before, I did it like the wiki, so I mount the file like this:
/swapp/swapfile none swap defaults 0 0
The file has nocow.
I asked if I should mount the subvolume and then the file like this example
You need two lines in your fstab for this, one to mount the subvolume, then another for the swap file. You are missing the former.
So this swap file is landing on your root volume still.
This line. Where do you mount subvol @swapp?
Edit
Sorry, I just noticed this. That won’t work quite yet.
I thought we were on the same page, so I made some assumptions.
There’s two things wrong with swapp, it should be off the top level subvolume. And we should call it @swapp not swapp. (Technically we don’t have to, but just to follow convention.)
So you will need to delete that subvolume and create a new one.
As it’s not off the top level, let’s just delete it by ID:
But please note that sometimes a recipe is intentionally designed not to work in the GUI because some steps require additional parameters, or because the GUI tools handle things differently.