This was the most depressing thing I read this week. It’s bugs all the way down.
In Linux, at least! I’m not sure if other OS’s are much better (clearly NTFS didn’t do so great), but it’d be interesting to see how illumos and FreeBSD stack up with ZFS. Linux has a lot of really hairy edge cases like this where culture and community have not felt it valuable to solve.
I wouldn’t write off desktop mail clients just yet. Both Pine (without Maildir patch) and Eudora use the mbox format, which is prone to corruption as it is essentially all of your messages concatenated in one plaintext file. For large volumes of email, it’s better to use the Maildir format, which stores each message in a separate file.
Maildir is certainly better than mbox (which is an abomination), but it is still susceptible to the problems outlined in the OP.
Doesn’t thunderbird store messages in a SQLite DB?
I dunno. My thunderbird corrupted (again) recently and i gave up.
It uses the mbox format too. I wonder indeed why they don’t use something more robust like SQLite.
I wish ZFS was included in the tests. ZFS won’t save you from application level issues, but it puts a lot of effort into keeping your data safe once it’s written. btrfs is the Linux attempt at ZFS, time will tell how well they do.
ZFS certainly tries to avoid corrupting its own metadata, but I’m not sure it always enforces the ordering constraints that application developers assume. For example, does renaming A to B and C to D always perform those operations in that sequence?
I don’t know, my guess is probably not. But perhaps someone in or near the OpenZFS community could comment (@bcantrill)?
It would be good to include reiserfs on the matrix of what kind of surprises happen, given that that’s apparently the least-buggy filesystem on linux.
I’m in no position to argue the veracity of your statement, but I am curious how you drew that conclusion?
I was going by the section on the IRON paper, which now that I look at it didn’t include XFS; looking at the table further down it sounds like XFS is possibly less buggy than reiserfs. Still I would’ve liked to see it in the table, and I think having all the mainstream linux options in the table would be more valuable than including ZFS (extending it to include all the options on BSD would be better still of course); more than that I just wish there was consistency between which filesystems were included in which section.