Granted, at enterprise scale this hardly matters because you can just send-receive to rebuild pools if you have enough spares, but for consumer-grade deployments it's a non-negligible annoyance.
The indirection tables are survivable for fixing short term mistakes, though.
Maybe SV is different...
Twice btrfs ended up in a non-mountable situation, but both times it was due to a known issue and #btrfs on freenode was able to walk me through getting it working again.
With ZFS, I neded up in a non-mountable system, and the response in both #zfs and #zfsonlinux to me posting the error message were, "that sucks, hope you had backups." Since I both had backups and it was my laptop 2000 miles from home that was my only computing device, I didn't dig deeper to see if I could discover the problem. FWIW, I've been using ZFS on that same hardware for almost 2 years since with no issues.
> I lost data from perfectly healthy-appearing btrfs systems twice.
I still consider btrfs as beta-level software. This is why I never looked into it very seriously and asked this question.
Looks like btrfs has something around five years to be considered serious at the scale where ZFS just starting to warm-up.
Overall:
Device size: 142.86GiB
Device allocated: 48.05GiB
Device unallocated: 94.81GiB
Device missing: 0.00B
Used: 37.75GiB
Free (estimated): 103.94GiB (min: 103.94GiB)
Data ratio: 1.00
Metadata ratio: 1.00
Global reserve: 82.20MiB (used: 0.00B)
Once you actually use them, you discover all the ways that btrfs is a pain and zfs is a (minor) joy:
- snapshot management
- online scrub
- data integrity
- disk management
I lost data from perfectly healthy-appearing btrfs systems twice. I've never lost data on maintained zfs systems, and I now trust a lot more data to zfs than I ever have to btrfs.