src/backend/transam/README says:
... 4. Mark the shared buffer(s) as dirty with MarkBufferDirty(). (ThisĀ must happen before the WAL record is inserted; see notes inĀ SyncOneBuffer().) ... But GenericXLogFinish() does this: ... /* Insert xlog record */ lsn = XLogInsert(RM_GENERIC_ID, 0); /* Set LSN and mark buffers dirty */ for (i = 0; i < MAX_GENERIC_XLOG_PAGES; i++) { PageData *pageData = &state->pages[i]; if (BufferIsInvalid(pageData->buffer)) continue; PageSetLSN(BufferGetPage(pageData->buffer), lsn); MarkBufferDirty(pageData->buffer); } END_CRIT_SECTION(); Am I missing something or is that a problem? Regards, Jeff Davis