From ff51fe7b0cf210f58549c1c3b67bd3175de2e8f7 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Mon, 1 Dec 2025 08:06:26 +0100 Subject: [PATCH 1/3] Use PG_IO_ALIGN_SIZE for aligning WAL buffers There are two places that were apparently forgotten in commit faeedbcefd4. --- src/backend/access/transam/xlog.c | 4 ++-- src/bin/pg_test_fsync/pg_test_fsync.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c index 22d0a2e8c3a..44e1d4eeabd 100644 --- a/src/backend/access/transam/xlog.c +++ b/src/backend/access/transam/xlog.c @@ -5119,8 +5119,8 @@ BootStrapXLOG(uint32 data_checksum_version) sysidentifier |= getpid() & 0xFFF; /* page buffer must be aligned suitably for O_DIRECT */ - buffer = (char *) palloc(XLOG_BLCKSZ + XLOG_BLCKSZ); - page = (XLogPageHeader) TYPEALIGN(XLOG_BLCKSZ, buffer); + buffer = (char *) palloc(XLOG_BLCKSZ + PG_IO_ALIGN_SIZE); + page = (XLogPageHeader) TYPEALIGN(PG_IO_ALIGN_SIZE, buffer); memset(page, 0, XLOG_BLCKSZ); /* diff --git a/src/bin/pg_test_fsync/pg_test_fsync.c b/src/bin/pg_test_fsync/pg_test_fsync.c index 0060ea15902..a63d6f1a54f 100644 --- a/src/bin/pg_test_fsync/pg_test_fsync.c +++ b/src/bin/pg_test_fsync/pg_test_fsync.c @@ -234,7 +234,7 @@ prepare_buf(void) for (ops = 0; ops < DEFAULT_XLOG_SEG_SIZE; ops++) full_buf[ops] = (char) pg_prng_int32(&pg_global_prng_state); - buf = (char *) TYPEALIGN(XLOG_BLCKSZ, full_buf); + buf = (char *) TYPEALIGN(PG_IO_ALIGN_SIZE, full_buf); } static void base-commit: d03668ea0566b53522cf2628ab7aa630247640a4 -- 2.52.0