mirror of
https://github.com/postgres/postgres.git
synced 2025-06-13 07:41:39 +03:00
Add buffer_std flag to MarkBufferDirtyHint().
MarkBufferDirtyHint() writes WAL, and should know if it's got a standard buffer or not. Currently, the only callers where buffer_std is false are related to the FSM. In passing, rename XLOG_HINT to XLOG_FPI, which is more descriptive. Back-patch to 9.3.
This commit is contained in:
@ -2587,7 +2587,7 @@ IncrBufferRefCount(Buffer buffer)
|
||||
* (due to a race condition), so it cannot be used for important changes.
|
||||
*/
|
||||
void
|
||||
MarkBufferDirtyHint(Buffer buffer)
|
||||
MarkBufferDirtyHint(Buffer buffer, bool buffer_std)
|
||||
{
|
||||
volatile BufferDesc *bufHdr;
|
||||
Page page = BufferGetPage(buffer);
|
||||
@ -2671,7 +2671,7 @@ MarkBufferDirtyHint(Buffer buffer)
|
||||
* rather than full transactionids.
|
||||
*/
|
||||
MyPgXact->delayChkpt = delayChkpt = true;
|
||||
lsn = XLogSaveBufferForHint(buffer);
|
||||
lsn = XLogSaveBufferForHint(buffer, buffer_std);
|
||||
}
|
||||
|
||||
LockBufHdr(bufHdr);
|
||||
|
Reference in New Issue
Block a user