Re:Bcachefs – A general purpose COW filesystem
by stewartbutler on Friday August 21, 2015 @11:13AM
(#10098020)
Unless he is talking about scrubbing and self-healing? In which case, the same thing still applies -- all releases do this as far as I know.
See: https://pthree.org/2012/12/11/zfs-administration-part-vi-scr...
Re:Bcachefs – A general purpose COW filesystem
by throwaway7767 on Friday August 21, 2015 @12:06PM
(#10098391)
Well, scrubbing and self-healing are really just the user-facing operations enabled by the erasure coding, so it's really the same thing.
Re:Bcachefs – A general purpose COW filesystem
by usefulcat on Friday August 21, 2015 @03:42PM
(#10099772)
AFAIK zfs doesn't use erasure coding. It has a checksum for each block. Together with redundant storage of blocks, this allows it to determine which block is corrupt when two copies of the same block have different contents.
Re:Bcachefs – A general purpose COW filesystem
by jamesblonde on Friday August 21, 2015 @04:01PM
(#10099875)
Redundant storage of the meta data - not the actual blocks. But at least you know they're corrupted if the become corrupted ;)
Re:Bcachefs – A general purpose COW filesystem
by usefulcat on Friday August 21, 2015 @04:37PM
(#10100061)
Nope, all blocks, unless wikipedia is wrong or I am completely misunderstanding the following:
"When a block is accessed, regardless of whether it is data or meta-data, its checksum is calculated and compared with the stored checksum value of what it "should" be. If the checksums match, the data are passed up the programming stack to the process that asked for it; if the values do not match, then ZFS can heal the data if the storage pool provides data redundancy (such as with internal mirroring), assuming that the copy of data is undamaged and with matching checksums."
When people talk about "ECC" in relation to ZFS, they are generally referring to ECC memory, i.e. RAM that detects and corrects single-bit corruption. This does not need any support from software, it is a hardware thing. So if you have ECC memory, it will "work with ZFS" no matter your OS.
Erasure coding here refers to redundancy in the block storage, so you can lose a disk and still maintain access to the data. And I can confirm that the linux ZFS implementation, along with all others (as they're all based on the same codebase), support that.