Commit faeedbcefd4 changed the alignment of WAL buffers from XLOG_BLCKSZ
to PG_IO_ALIGN_SIZE.
While looking around for places to apply alignas, I think I found at
least two places that were forgotten, namely in BootStrapXLOG() and in
pg_test_fsync.c. Patches attached for those.
I also suspect that the TYPEALIGN call in XLOGShmemInit() should take
PG_IO_ALIGN_SIZE into account, but it's not immediately obvious how,
since the comment also mentions that it wants alignment on "a full xlog
block size boundary". Maybe Max(XLOG_BLCKSZ, PG_IO_ALIGN_SIZE)?
I also wonder whether the check in check_debug_io_direct() for #if
XLOG_BLCKSZ < PG_IO_ALIGN_SIZE would be required if we fixed all those
places?