diff options
Diffstat (limited to 'src/backend/access/transam/xlogutils.c')
-rw-r--r-- | src/backend/access/transam/xlogutils.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/backend/access/transam/xlogutils.c b/src/backend/access/transam/xlogutils.c index f6ca2b95e51..c3213ac0b6f 100644 --- a/src/backend/access/transam/xlogutils.c +++ b/src/backend/access/transam/xlogutils.c @@ -358,7 +358,7 @@ XLogReadBufferForRedoExtended(XLogReaderState *record, { *buf = XLogReadBufferExtended(rnode, forknum, blkno, get_cleanup_lock ? RBM_ZERO_AND_CLEANUP_LOCK : RBM_ZERO_AND_LOCK); - page = BufferGetPage(*buf); + page = BufferGetPage(*buf, NULL, NULL, BGP_NO_SNAPSHOT_TEST); if (!RestoreBlockImage(record, block_id, page)) elog(ERROR, "failed to restore block image"); @@ -396,7 +396,8 @@ XLogReadBufferForRedoExtended(XLogReaderState *record, else LockBuffer(*buf, BUFFER_LOCK_EXCLUSIVE); } - if (lsn <= PageGetLSN(BufferGetPage(*buf))) + if (lsn <= PageGetLSN(BufferGetPage(*buf, NULL, NULL, + BGP_NO_SNAPSHOT_TEST))) return BLK_DONE; else return BLK_NEEDS_REDO; @@ -502,7 +503,8 @@ XLogReadBufferExtended(RelFileNode rnode, ForkNumber forknum, if (mode == RBM_NORMAL) { /* check that page has been initialized */ - Page page = (Page) BufferGetPage(buffer); + Page page = BufferGetPage(buffer, NULL, NULL, + BGP_NO_SNAPSHOT_TEST); /* * We assume that PageIsNew is safe without a lock. During recovery, |