The problem is that for 1 out of 64 bits, "fletcher2" is [i]not[/i] better than a simple XOR. 50% probability of a false negative for any number of bit errors in those bits.
If you have a phantom write to a previously used block that differs only in bits that occupy that bit position, you only have a 50% chance of catching it. That is pathetic. By way of suggestion, considering that hardware support is on its way in next generation Intel x86 processors, CRC32-C checksum support (as used in iSCSI and SCTP) would be an excellent addition. There are decent software implementations as well that process 8 bits at a time using a 8KB lookup table. -- This message posted from opensolaris.org