Re: btrfs and ECC RAM

Duncan
2014-01-25T04:34:38Z

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