4 ms·
> Do checksumming at the block level. This doesn't handle phantom or misdirected writes. You can't really do that unless you keep the checksums elsewhere, and
by dap 10y ago
> Do checksumming at the block level.
This doesn't handle phantom or misdirected writes. You can't really do that unless you keep the checksums elsewhere, and specifically in the place where you intend to reference the data.
> Let the filesystem handle checksumming, but extend the block device API to provide feedback to the kernel if the checksum is invalid.
I think by the time you get this API right, it's going to seem like just as bad a layering violation.
ZFS has a coherent set of layers built into it. They're just not the ones that existed before it. But I don't think those previous layers were designed with many of the important failure modes of real hardware devices in mind. That's understandable given when they were designed, but we've come a long way since then in the understanding of those failure modes and our expectations of system integrity.