On Fri, Jun 24, 2016 at 2:50 AM, Hugo Mills <h...@carfax.org.uk> wrote:
> Checksums are not parity, correct. However, every data block > (including, I think, the parity) is checksummed and put into the csum > tree. I don't see how parity is checksummed. It definitely is not in the csum tree. Two file systems, one raid5, one single, each with a single identical file: raid5 item 0 key (EXTENT_CSUM EXTENT_CSUM 12009865216) itemoff 16155 itemsize 128 extent csum item single item 0 key (EXTENT_CSUM EXTENT_CSUM 2168717312) itemoff 16155 itemsize 128 extent csum item That's the only entry in the csum tree. The raid5 one is not 33.33% bigger to account for the extra parity being checksummed. Now, if parity is used to reconstruction of data, that data *is* checksummed so if it fails checksum after reconstruction the information is available to determine it was incorrectly reconstructed. The notes in btrfs/raid56.c recognize the possibility of parity corruption and how to handle it. But I think that corruption is inferred. Maybe the parity csums are in some other metadata item, but I don't see how it's in the csum tree. -- Chris Murphy -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html