aboutsummaryrefslogtreecommitdiff
path: root/src/backend/storage/buffer/bufmgr.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/storage/buffer/bufmgr.c')
-rw-r--r--src/backend/storage/buffer/bufmgr.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/backend/storage/buffer/bufmgr.c b/src/backend/storage/buffer/bufmgr.c
index f3c27d7e77a..79ca9d18d07 100644
--- a/src/backend/storage/buffer/bufmgr.c
+++ b/src/backend/storage/buffer/bufmgr.c
@@ -1038,7 +1038,7 @@ ZeroAndLockBuffer(Buffer buffer, ReadBufferMode mode, bool already_valid)
{
/* Simple case for non-shared buffers. */
bufHdr = GetLocalBufferDescriptor(-buffer - 1);
- need_to_zero = (pg_atomic_read_u32(&bufHdr->state) & BM_VALID) == 0;
+ need_to_zero = StartLocalBufferIO(bufHdr, true);
}
else
{
@@ -1388,11 +1388,7 @@ static inline bool
WaitReadBuffersCanStartIO(Buffer buffer, bool nowait)
{
if (BufferIsLocal(buffer))
- {
- BufferDesc *bufHdr = GetLocalBufferDescriptor(-buffer - 1);
-
- return (pg_atomic_read_u32(&bufHdr->state) & BM_VALID) == 0;
- }
+ return StartLocalBufferIO(GetLocalBufferDescriptor(-buffer - 1), true);
else
return StartBufferIO(GetBufferDescriptor(buffer - 1), true, nowait);
}