OK, I have a stupid question- torn pages are a problem, but only during
recovery. Recovery is (I assume) a fairly rare condition- if data
corruption is going to happen, it's most likely to happen during normal
operation. So why not just turn off CRC checksumming during recovery,
or at least treat it as a much less critical error? During recovery, if
the CRC checksum matches, we can assume the page is good- not only not
corrupt, but not torn either. If the CRC checksum doesn't match, we
don't panic, but maybe we do more careful analysis of the page to make
sure that only the hint bits are wrong. Or maybe not. It's only during
normal operation that a CRC checksum failure would be considered critical.
Feel free to explain to me why I'm an idiot.