I see the ability of Btrfs to create snapshots is often praised but, in 26 years of using first Caldera and then SUSE/openSUSE, I have never encountered a situation where a snapshot would be advantageous. Things just work. Have I been lucky or is it related to the fact that most of that time I have not used a rolling distribution?
Not really, I use ext4 as well as btrfs, but snapshots, I used on Aeon a few times with it not booting into the correct kernel. I don’t care much about the OS, only data. I do use Combustion and now getting to grips with Agama profiles for install assistance/setup. Never had to use it (aside from testing), but it’s there…
I also have multiple systems here, so if ones does break it’s not an issue. I can see advantages if just having a single system and no backup system.
One time this year. Just used it a few months ago after an update broke something.
Whenever I need to. (just joking).
.
Only once, when I was running TW. The recovery worked, but was a bit involved.
No glitches since I moved to Leap.
Almost weekly. But I use it more as a tool, f.e.:
- create a snapshot ###
- Install full GNOME DE
- Test a usecase that needs real hardware in test account
- Rollback to snapshot ###
But otherwise I can remember only 1 bug, when I needed to roll back and forward to provide output for a bugreport.
I only use the extra config I created for home to get accidentally overwritten/deleted/lost files or changes.
Same thing for the system snapshot really, except in /etc.
Why would I roll back rest of the system? Only to verify an issue; then fix my main.
I used it when dealing with the most recent nvidia driver issue, but beyond that, I usually don’t have a need for them. But I’m glad they’re there so I can get back to a stable system if I need to, because I use my system for fun and for a little bit of the work I do.
I haven’t rolled back in over 6 months, and that’s with NVIDIA too.
Tumbleweed on ext4 (so no snapshots) here for years. Separate /home, so if things go really bad I would simply reinstall, but it never happened.
If an updated package is broken the old version is available in the history repo for a few weeks and I can revert and lock until a fix is available.
Just for emergency I have a backup Leap on the same system, but I cannot recall the last time it was really needed.
I use btfrs for hdd,and I don’t do snapshots.
Thanks for all your replies and examples of use cases. It looks from several of the examples you give that the lack of situations where I might need a rollback is related to my use cases. Notwithstanding that, I am thinking of getting some new kit and starting afresh using Btrfs; so it is good to know the sorts of use cases where snapshots would be helpful. Thank you.
Hmm. BTRFS without Snapshots (?).
The primary reason to use BTRFS is for easy rollbacks, in case there is a boot up issue or other potential type(s) of corruption.
Why using it without Snapshots?
Not really, same thing is true for zfs. You get a copy-on-write filesystem, checksum, compression. You can think of it as a modular filesystem with extendable features.
Copy-on-write fs simply explained; you can copy files like it was a symlink, until it changes and now it only stores the diff to the old file. Result is less space occupied.
This also works for git-worktree where its super useful, as working on multiple branches at once in multiple worktree dirs does not cost significantly more space, even if the repo is huge.
Of course all this also means its saving valuable writes on nvme storage!
Another benefit is the metadata provided by such a modern filesystem, which is extremely useful for data recovery and more.
zfs with (zdb) is a bit stronger on that one as well as cli user friendlyness, but lets hope btrfs gets there someday.
As I know, this FS safer than ext4 without snapshots
At this point I think most of these older filesystems is only good for virtualization, removable media.
virtiofsd and other tech is catching on, so you don’t even have to have block fs inside vm if you need one over containers.
You can run vm’s straight off btrfs/zfs, even with selinux xattrs with near native speeds and less to go wrong plus the freedom to fill free space without constraints of partition table.
I’m very glad I took the virtiofsd route for VMs, because you tend to fill them up the more you use them and resizing is a top annoying chore, even if xfs makes it quite easy.
There’s a lot of people who spread FUD about CoW filesystems, but its more than just CoW, its also about being flexible and improving all the time.
Even if performance is far worse in some situations, its quickly getting better, for most its fast enough for those major quality of life improvements and data integrity.
However, I still feel most comfortable running kernel-longterm for avoiding most potential btrfs regressions. There was a pretty serious one not too long ago, but quite isolated and low frequency.
The absolute best upgrade you can do to data integrity, even more significant than ECC RAM (which is statistically less significant than hard memory errors) is UPS power backup.
@dezza I have both in use here ECC RAM and UPS devices… they even provide rpm’s well it’s a java app and shock horror a systemd service, it works and can configure the UPS…
systemctl status ups.monitoringservice.service
â—Ź ups.monitoringservice.service - Vertiv UPS Monitoring Service
Loaded: loaded (/usr/lib/systemd/system/ups.monitoringservice.service; enabled; preset: disabled)
Active: active (running) since Fri 2026-07-17 13:56:43 CDT; 4 days ago
Invocation: 234fa9fcf4fd41759505953d2a370b6c
Main PID: 1725 (Ups.MonitoringS)
Tasks: 55 (limit: 154396)
CPU: 3h 42min 3.267s
CGroup: /system.slice/ups.monitoringservice.service
└─1725 /usr/local/bin/Vertiv/Ups.MonitoringService/Ups.MonitoringService
Jul 21 21:11:35 hostname Ups.MonitoringService[1725]: [21:11:35 INF] UPS Monitoring Loop completed successfully for model Liebert PSA5 and detected
....
Sweet! I am still saving up for one. I wonder what to pick.
One time only in my five years on Tumbleweed. I did a stupid mistake and have used it, it got me out of the bad situation. Since then, I’ve been somewhat careful.
I’m glad it exists as an emergency feature.
@dezza It all depends on the UPS load and how long you want the system to stay up before shutdown… The two PSA5’s (1000VA/800W) I have will run for 45 minutes or so, load is around 12% on both… They are set to shutdown after 5 minutes…
I used timeshift snapshots probably 20 times when I was unsuccessfully trying to update leap 15.6 to leap16 and keep a bunch of items I had compiled myself intact.
I eventually went to tumbleweed but use of the snapshots saved my work.
tom kosvic