Edit 2: Through all of my shenanigans I ended up on a read-only snapshot for root. The error I got just seemed similar to previous out-of-space errors. I went to a later snapshot as default and everything is working great!
My OpenSUSE Tumbleweed is wonky since I last did a dist-upgrade with about 4000 packages. Midway through it errord out with an error that indicated that the filesystem was full althou df showed plenty of free space.
BTRFS seemed to be the culprit. Removing snapshots let me continue the upgrade until it errored out again. Rinse and repeat until it was done.
Edit: My root subvolume is read only. So there must be some error in that. The other subvolumes work correctly. So I guess it isn't about free space after all.
But now the BTRFS seems to be almost full and I cannot update anymore.
...
Checking for file conflicts: .....................[done]error: can't create transaction lock on /usr/lib/sysimage/rpm/.rpm.lock (Read-only file system) ( 1/40) Removing: ovpn-dco-kmp-default-0.2.202412[error]Removal of (76899)ovpn-dco-kmp-default-0.2.20241216~git0.a08b2fd_k6.13.7_1-2.2.x86_64(@System) failed: Error: Subprocess failed. Error: RPM failed: Command exited with status 1. Abort, retry, ignore? [a/r/i] (a): Problem occurred during or after installation or removal of packages: Installation has been aborted as directed. Please see the above error message for a hint.
I've tried a full balance but that didn't even seem to help. So I suspect that the space is caught up in snapshots, but I can't delete them.
# snapper list
# │ Type │ Pre # │ Date │ User │ Used Space │ Cleanup │ Description │ Userdata ─────┼────────┼───────┼──────────────────────────────────┼──────┼────────────┼─────────┼───────────────────────┼───────────── 0 │ single │ │ │ root │ │ │ current │ 1 │ single │ │ Thu 18 Apr 2024 05:58:31 PM CEST │ root │ 12.51 GiB │ number │ first root filesystem │365* │ pre │ │ Wed 26 Mar 2025 04:28:33 PM CET │ root │ 16.00 KiB │ number │ zypp(zypper) │ important=no 366 │ pre │ │ Wed 26 Mar 2025 07:28:09 PM CET │ root │ 16.00 KiB │ number │ zypp(zypper) │ important=no 367 │ pre │ │ Wed 26 Mar 2025 07:36:53 PM CET │ root │ 16.00 KiB │ number │ zypp(zypper) │ important=no
# snapper rm 1
Deleting snapshot failed.
# snapper rm 365
Cannot delete snapshot 365 since it is the currently mounted snapshot.
No real advice but I've heard of people having issues with their BTRFS filesystem running out of free inodes and reporting the filesystem as full due to that. Note that the df command is not expected to work properly for a BTRFS filesystem.
If I understand subvolumes correctly they share their space when they reside on the same device. I only have two partitions. One for /boot/efi and one for the rest.
I did that. Turns out my error had nothing to do with space. I was just booting into a read-only snapshot by default. Rolling back to a later snapshot fixed everything.
I always do a df -h before updating. And this recent update was brutally large. I was unable to free enough space by deleting snapshots as I've taken to doing lately. What I've now started doing is finding directories using a lot of space and moving them from my root partition to another partition I have with more space and then linking that directory back to a directory with the original path. The most recent culprit I found and moved is /var/lib/flatpack. The program filelight is a great tool for finding culprits.