On Oct 12, 2022, 10:09 +0800, Michael Paquier <michael@paquier.xyz>, wrote:
Nice catches, both of you. Let's adjust everything spotted in one shot. Matthias' patch makes the ordering right, but the initialization path a bit harder to follow when using a separate list. The code is short so it does not strike me as a big deal, and it comes from the fact that we need to lock an existing buffer when merging two lists. For the branch where we insert into a tail page, the pages are already locked but it looks to be enough to move XLogBeginInsert() before the first XLogRegisterBuffer() call.
Would any of you like to write a patch? -- Michael