Somehow, when I run “zypper dup” automatic snapshots are not created anymore. The last automatic “pre&pos zypp(zypper)” snapshot was created on April 7th. After that I don’t see any new snapshots. I update pretty regularly (every few days). I just checked and snapper-zypp-plugin is still installed. I don’t see any errors in /var/log/zypper.log. Manual snapshot creation still works fine. Any suggestions how I can troubleshoot this problem?
Hi!
I just checked on my system and it seems to be exactly the same…
Pre and post zypper snapshots stopped at April 8.
What to do here? Any ideas?
p.s.: automatic timeline snapshots also stopped at the same day… !
Comment out the following line:
erlangen:~ # grep QGROUP /etc/snapper/configs/root
# QGROUP="1/0"
erlangen:~ #
Interesting. What does it do? I have disabled quotas because deleting old snapshots was too slow (btrfs-cleaner high CPU utilization and severe performance issues | Support | SUSE).
This line in the config file didn’t change recently though, so why is it suddenly causing problems?
I’ll comment this line out as you suggested, and check if it fixes the snapshot generation on the next zypper dup.
Indeed, the snapshot generation seems fixed.
Do you have quota disabled for this filesystem?
btrfs qgroup show /
Yes, I’ve disabled quotas.
$ sudo btrfs qgroup show /
ERROR: can't list qgroups: quotas not enabled
Well … this can be considered self inflicted wound. I have default configuration with quota enabled and all snapshots are created as they should.
Apparently, recently kernel was tightened to return an error when requested to create snapshot with qgroups on a filesystem with quota disabled. Which explains why snapper suddenly started to fail.
Installer either enables quota and sets QGROUP
snapper parameter or does neither.
Next snapper version should contain workaround for it (by effectively ignoring kernel error in this case).
FTR:
- kernel patch that adds additional parameter checks, causing the ioctl to fail if qgroup-related parameters are passed in for a file system that has qgroups disabled. snapper was using this system call, even if quota was disabled
- Snapper issue on GitHub
- Bugzilla boo#1222674
Uhm. You sure this is the default configuration?
AFAIR quotas are disabled by default on Tumbleweed. Or maybe it was like that when I installed Tumbleweed several years ago.
Yes.
It was quite a while back then. The code to enable snapper in YaST during installation was added in 2017. It is needed to support space based cleanup.
…which is not the default BTW. Number cleanup is.
There are several resources that hint to the fact that quotas are not enabled by default:
- btrfs-quota(8) — btrfsprogs
- Reddit - Dive into anything
- openSUSE:Snapper Tutorial - openSUSE Wiki
- and especially this last one (though it is for Leap, Tumbleweed makes no difference in this respect): System recovery and snapshot management with Snapper | Reference | openSUSE Leap 15.5
Quota was enabled by default for me in TW snapshot ISOs since January '24.
Choosing btrfs with snapshots in Yast installer.
Did you read it at all?
If Snapper was enabled during the installation, quota support is automatically enabled.
Yes, but not until that point I admit.
Guess I enabled snapper afterwards, so quota wasn’t enabled automatically.
Or maybe I followed the hints about disabling quota for performance reasons so long ago that I do not remember it anymore.
This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.