Hello,
>> Okay, for the memo replay_image_masked and master_image_masked
>> in xlog.c could make use of the new structure. SetWALSegSize in
>> pg_standby.c and WriteEmptyXLOG in pg_resetwal.c, and pg_upgrade's
>> file.c could also be patched.
>
> I intentionally didn't change replay_image_masked/master_image_masked
> to use statically-allocated buffers. Since, AFAICS, those aren't
> needed in most backend processes, they'd just be eating 16KB of
> per-process data space to no purpose.
>
> The others you mention could be changed, probably, but I didn't
> bother as they didn't seem performance-critical.
I'd go for having just one same approach everywhere, for code base
homogeneity.
>>> +typedef union PGAlignedBuffer
>
>> One complain I have is about the name of those structures. Perhaps
>> PGAlignedBlock and PGAlignedXlogBlock make more sense?
>
> Don't have a strong preference, anybody else have an opinion?
I like "Block" better, because it's more precise.
> (I also wondered whether to use "WAL" instead of "XLog" in that
> struct name, but it seems like we've mostly stuck with "xlog"
> in internal C names.)
Best to blend with the surrounding code in the header file?
--
Fabien.