mirror of
https://github.com/postgres/postgres.git
synced 2025-06-13 07:41:39 +03:00
Refactor checksumming code to make it easier to use externally.
pg_filedump and other external utility programs are likely to want to be able to check Postgres page checksums. To avoid messy duplication of code, move the checksumming functionality into an exported header file, much as we did awhile back for the CRC code. In passing, get rid of an unportable assumption that a static char[] array will be word-aligned, and do some other minor code beautification.
This commit is contained in:
@ -1982,9 +1982,13 @@ FlushBuffer(volatile BufferDesc *buf, SMgrRelation reln)
|
||||
* have been able to write it while we were busy with log flushing because
|
||||
* we have the io_in_progress lock.
|
||||
*/
|
||||
|
||||
bufBlock = BufHdrGetBlock(buf);
|
||||
|
||||
/*
|
||||
* Update page checksum if desired. Since we have only shared lock on the
|
||||
* buffer, other processes might be updating hint bits in it, so we must
|
||||
* copy the page to private storage if we do checksumming.
|
||||
*/
|
||||
bufToWrite = PageSetChecksumCopy((Page) bufBlock, buf->tag.blockNum);
|
||||
|
||||
if (track_io_timing)
|
||||
|
Reference in New Issue
Block a user