1
0
mirror of https://github.com/postgres/postgres.git synced 2025-10-25 13:17:41 +03:00

Let caller of PageIsVerified() control ignore_checksum_failure

For AIO the completion of a read into shared buffers (i.e. verifying the page
including the checksum, updating the BufferDesc to reflect the IO) can happen
in a different backend than the backend that started the IO. As
ignore_checksum_failure can differ between backends, we need to allow the
caller of PageIsVerified() control whether to ignore checksum failures.

The commit leaves a gap in the PIV_* values, as an upcoming commit, which
depends on this commit, will add PIV_LOG_LOG, which better fits just after
PIV_LOG_WARNING.

Reviewed-by: Noah Misch <noah@leadboat.com>
Discussion: https://postgr.es/m/20250329212929.a6.nmisch@google.com
This commit is contained in:
Andres Freund
2025-03-30 16:10:51 -04:00
parent b96d3c3897
commit d445990adc
4 changed files with 17 additions and 5 deletions

View File

@@ -467,6 +467,7 @@ do { \
/* flags for PageIsVerified() */
#define PIV_LOG_WARNING (1 << 0)
#define PIV_IGNORE_CHECKSUM_FAILURE (1 << 2)
#define PageAddItem(page, item, size, offsetNumber, overwrite, is_heap) \
PageAddItemExtended(page, item, size, offsetNumber, \