> The implementation I'm envisioning requires the use of a new relation
> fork to store the per-block CRCs.
That seems bizarre, and expensive, and if you lose one block of the CRC
fork you lose confidence in a LOT of data. Why not keep the CRCs in the
> A buffer's io_in_progress lock protects the buffer's CRC.
Unfortunately, it doesn't. See hint bits.
regards, tom lane