Live data from Hacker News

In OpenZFS and Btrfs, everyone was just guessing

phoronix.com

131–140 of 172 posts

Re: In OpenZFS and Btrfs, everyone was just guessing

#131
Most of these screeds come down to a fundamental error: trusting a single filesystem with your important data.

If you trust a single filesystem with your data, you're wrong. It doesn't matter how fancy it is, how many parity blocks it has, or how many disks it's backed by: a single logical filesystem definitionally cannot be redundant. If you pretend it is, it will blow up in your face one day, and it will be nobody's fault but yours.

My backup is a drawer full of individual hard drives. Unlike any filesystem that ever has been or ever will be invented, that drawer cannot corrupt my data.

Re: In OpenZFS and Btrfs, everyone was just guessing

#132

Most of these screeds come down to a fundamental error: trusting a single filesystem with your important data. If you trust a single filesystem with your data, you're wrong. It doesn't matter how fancy it is, how many parity blocks it has, or how many disks it's backed by: a single logical filesystem definitionally cannot be redundant. If you pretend it is, it will blow up in your face one day, and it will be nobody'…

So user's are at fault for trusting a filesystem that advertises itself as being reliable?

Even if user's should use multiple redundant filesystems (lol ok), that doesn't invalidate the criticisms in the linked forum post.

Re: In OpenZFS and Btrfs, everyone was just guessing

#133
post #45

Earlier quoted context omitted.

A more "correct" fix has been posted https://github.com/openzfs/zfs/pull/15615

Neither of these fixes are great because neither of them include tests. This is a dataloss bug in a filesystem, no existing test covered it, and no new tests were added to demonstrate the efficacy of the supposed fix or prevent regressions.

There was, actually, a test, but it turns out to be rather hard to make a deterministic test to reproduce a rare race condition without sticking your fingers in at runtime and forcing the "wrong" ordering.

Re: In OpenZFS and Btrfs, everyone was just guessing

#134

I see a lot of comments here using the terms ZFS and Open ZFS interchangeably. But to my understanding, these are 2 different things. - ZFS is the very stable, non open source project that only works on BSD. - Open ZFS is an effort to rewrite ZFS in a totally open and free format that now runs on Linux. This was the idea I had, but I might be incorrect.

You're completely wrong.

Open source ZFS wound up in FreeBSD (and from there, other BSDs) before Sun stopped releasing Solaris source.

ZoL was a project based on said open Solaris source to run it on Linux, and while the Linux glue layer was not the FreeBSD glue layer, it was still based on the same ZFS source.

OpenZFS switched from being based on the illumos codebase to being based on ZoL a couple years ago, merged in FreeBSD support, and FreeBSD 13+ ships based on OpenZFS and not the original ZFS port to FreeBSD.

None of them are a new implementation.

Re: In OpenZFS and Btrfs, everyone was just guessing

#135

Most of these screeds come down to a fundamental error: trusting a single filesystem with your important data. If you trust a single filesystem with your data, you're wrong. It doesn't matter how fancy it is, how many parity blocks it has, or how many disks it's backed by: a single logical filesystem definitionally cannot be redundant. If you pretend it is, it will blow up in your face one day, and it will be nobody'…

So user's are at fault for trusting a filesystem that advertises itself as being reliable? Even if user's should use multiple redundant filesystems (lol ok), that doesn't invalidate the criticisms in the linked forum post.

> So user's are at fault for trusting a filesystem that advertises itself as being reliable?

Yes, absolutely 100% at fault. There are many failure modes here beyond corruption: human error, electrical surges, flooding, fire. Hell, somebody could break into your house and steal the NAS!

Filesystem bugs aren't a big deal. If they are a big deal to you, it's because you're trusting a system with a single point of failure, and the consequences of that inevitable failure are not acceptable to you. Stop doing that.

If I could choose between introducing a random filesystem bug and a random wifi driver bug into the kernel on my laptop, I'd take the filesystem bug every day of the week and twice on Sunday. Reinstalling my laptop is at worst a minor inconvenience that takes me an hour, and I can always use a different filesystem until the bug is fixed.

Re: In OpenZFS and Btrfs, everyone was just guessing

#136

Earlier quoted context omitted.

So user's are at fault for trusting a filesystem that advertises itself as being reliable? Even if user's should use multiple redundant filesystems (lol ok), that doesn't invalidate the criticisms in the linked forum post.

> So user's are at fault for trusting a filesystem that advertises itself as being reliable? Yes, absolutely 100% at fault. There are many failure modes here beyond corruption: human error, electrical surges, flooding, fire. Hell, somebody could break into your house and steal the NAS! Filesystem bugs aren't a big deal. If they are a big deal to you, it's because you're trusting a system with a single point of failur…

What you are describing sounds like the usual backup strategies. Filesystem bugs that silently corrupt your data will also get synced and backed up.

Re: In OpenZFS and Btrfs, everyone was just guessing

#137
Welcome to fucking software. I updated Mac OS X one time (or maybe it was just iTunes) and it deleted my home directory (remember that one)? I didn't open the mail promptly and missed the recall notice that my car's antilock brakes had a failure mode that was catastrophic in snow, and then I drove in the snow and then couldn't stop the car. I flew on this new model of Boeing jet a couple years ago, and it had a bug and crashed and I died.

OK, one of those is not true but this is how ALL software of any complexity is. I'm also old and ornery like the OP and I don't like it and if I get drunk I will talk hella shit about it but it's just a fact.

Software sucks. There was indeed a time when we (collectively) did a lot more to try to prove it worked before shipping it. But then:

a.) the money people realized it made money if it mostly worked, and made less money if we went all formal-proofy on it

b.) the software people realized that all the specs and architecture documents and fuzz testing and automated semantic analysis and literal actual voodoo dolls all did totally help, BUT...

(you know, they help ... BUT probably wouldn't have helped in this case, or lots of other cases...)

So this is just the way software is in almost every walk of life. ZFS is amazing, one of the most life-improving software technologies for me; up there with antibiotics, and UTF-8.

Yes, they had a pretty amazing bug, too. So yeah, "... at least for now, there's simply no way to reliably detect bit rot and other data integrity issues and be assured they can be remedied."

Which is just like it ALWAYS HAS BEEN and ALWAYS WILL BE.

But in the fullness of time, so far, ZFS has gotten us closer than anything else to that (impossible, unacheivable) ideal.

Re: In OpenZFS and Btrfs, everyone was just guessing

#138

Earlier quoted context omitted.

> So user's are at fault for trusting a filesystem that advertises itself as being reliable? Yes, absolutely 100% at fault. There are many failure modes here beyond corruption: human error, electrical surges, flooding, fire. Hell, somebody could break into your house and steal the NAS! Filesystem bugs aren't a big deal. If they are a big deal to you, it's because you're trusting a system with a single point of failur…

What you are describing sounds like the usual backup strategies. Filesystem bugs that silently corrupt your data will also get synced and backed up.

> Filesystem bugs that silently corrupt your data will also get synced and backed up

This is a very easy problem to solve: don't do incremental backups. Or have N backups and rotate, which isn't as good but still gives you more time to notice. Hard drives are cheap.

Re: In OpenZFS and Btrfs, everyone was just guessing

#139

Earlier quoted context omitted.

Maybe put some code directly before bag deployment code that disarms the system. So even if the execution reaches it directly through the branches, nothing will happen

Sure but what if the address bus glitches past that block?

Maybe put arming code somewhere completely different?

Of course it's possible to create more and more improbable scenarios. That's not to say those never happen; I've seen really improbable occurrences.

Re: In OpenZFS and Btrfs, everyone was just guessing

#140
A terrifying accusation. I've had both OpenZFS and Btrfs eat my data, luckily I had backups but did lose a few files. XFS is probably the best bet on Linux, it was beautifully designed and implemented by SGI back in the day. Hopefully the ChatGPT generation don't start modifying that code too much.
Post reply on HN