The first technique is not sufficient with modern disk
controllers, which may reorder sector writes within a block. A
checksum, especially a robust CRC32, is sufficient, but rather
expensive.
So you write the number to the start and end of each sector, or, you
only assume sector-wide 'block-sizes' for integrity.
A 32-bit CRC is plenty cheap enough on modern CPUs and especially
considering how often you need to calculate it.
Mohan has a clever technique that is computationally trivial and
only uses one bit per sector:
http://www.almaden.ibm.com/u/mohan/ICDE95.pdf
Unfortunately, it's also patented:
http://www.delphion.com/details?pn=US05418940__
Perhaps IBM will clarify their position with respect to free
software and patents in the upcoming conference.
Wow... pretty neat, but fortunately not necessary.
--cw
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/