Russell Coker posted on Sat, 25 Jan 2014 10:57:43 +1100 as excerpted: > On Sun, 19 Jan 2014 12:20:22 George Mitchell wrote: >> I can easily imagine btrfs taking a system down due to memory error, >> but not btrfs causing data corruption due to a memory error. > > I had a system which had apparently worked OK on Ext4 but had some > memory errors. After twice having a serious BTRFS corruption (needed > backup-format- restore) I ran memtest and found that a DIMM was broken. > > In that sort of situation it seems that BTRFS is likely to be more > fragile due to the more complex data structures and due to the fact that > it's a newer filesystem with less corner cases handled. I believe that was his point (as it has been mine, elsewhere). If there are memory errors, btrfs might well "take down the system", or as you mention, corrupt the btrfs such that it needs blown away with a mkfs and restore from backup, but it should NOT invisibly corrupt the data. If the data is available, it should be correct as it was stored, memory issue or no memory issue, ECC DRAM or non-ECC DRAM. (Tho there's a small chance that the data was corrupted in memory before it was stored, but that's the case no matter the filesystem, as the filesystem has nothing to do with it then.) IOW, btrfs is binary. The data is either there and valid, or its not there, period. There's no there but not valid case -- btrfs simply won't serve the data period if it's invalid and there's no valid copy available to substitute for it. And yes, that does make btrfs more brittle on defective equipment, because it'll break all the way much more frequently than filesystems that would instead serve only slightly invalid data, without knowing how valid it is because they don't do the checks btrfs does. *CAVEAT! This assumes the filesystem isn't mounted with nodatacow/ nodatasum, and that we're not talking about files with the NOCOW extended attribute set, thus specific-case disabling these important features of btrfs. -- Duncan - List replies preferred. No HTML msgs. "Every nonfree program has a lord, a master -- and if you use the program, he is your master." Richard Stallman -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
