>>>>> "Konrad" == Konrad Rzeszutek <konrad@xxxxxxxxxxxxxxx> writes: Konrad> I thought that the more recent patches by Oracle to support Konrad> DIF/DIX (Data Integrity Extensions): Konrad> Are addressing this by adding a checksum for each block sector Konrad> that is checked by each device. The DIX/DIF checksum is a CRC, not an ECC. It is mostly aimed at detecting in-flight corruption, not latent sector corruption. Latent sector corruption is btrfs territory as far as I'm concerned. The problem as I see it with the proposed ECC scheme is that once a drive gives up on a sector you lose all of it. It's not like only a portion of the sector becomes unreadable to the OS. So the ECC scheme will have to be quite potent because at the very minimum it must be able to withstand losing 512 bytes of data. Drives with 4KB sectors are right around the corner making things even more fun. Once you start working around sector atomicity issues I think it's only a matter of time before you end up reinventing RAID and its various reliability vs. space efficiency trade-offs... Konrad> So the firmware on the hard-drive, along with the SAS controller Konrad> would carry out the checksumming? We'll generate the checksum and the other protection information in the application if it supports it or otherwise once the I/O gets inside the kernel. The HBA, the array firmware, and the drive firmware are all able to verify that the protection information matches the data. -- Martin K. Petersen Oracle Linux Engineering -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel