Email or username:

Password:

Forgot your password?
Dr. Quadragon ❌

Hmmm... I kinda wonder - don't BTRFS shapshots negate the need for an A/B system?

I mean, do we really need to save only two last versions of the OS, when we have the whole snapshot history to choose from?

3 comments
D:\side\

@drq for power users — maybe.

But the vast majority are casual users that would prefer to not deal with this at all. All they'd rather see is if an updated OS fails to start, a reboot boots them back into a system that's known to work. With requirements this low, anything more complex than A/B seems like overengineering.

On top of having more moving parts that might fail and requiring more tools for proper maintenance, it has a less obvious downside of requiring all versions to use BTRFS, so no embracing the latest and greatest in FS development through just an OS update, as unlikely as that may be with how short-lived so many digital systems are these days.

I hate it, but I understand it.

@drq for power users — maybe.

But the vast majority are casual users that would prefer to not deal with this at all. All they'd rather see is if an updated OS fails to start, a reboot boots them back into a system that's known to work. With requirements this low, anything more complex than A/B seems like overengineering.

Dr. Quadragon ❌

@dside Fair point. However, as far as immutable systems go, does it matter? The job of the filesystem that holds your / (or /usr, if we go by Poettering's suggestion) is to just hold system binaries and other system files that don't need to change save for an update. Does it need some fancy-shmancy FS? I'd say even BTRFS is pretty redundant for this.

D:\side\

@drq yeah, probably not.
I had to look at how OSTree handles this, and all it asks for are hardlinks, although it still claims to benefit from btrfs somehow (I couldn't quickly find how exactly): ostreedev.github.io/ostree/int
It also mentions git's design a lot, probably with good reason.

Go Up