aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlvaro Herrera <alvherre@alvh.no-ip.org>2024-08-18 20:49:57 -0400
committerAlvaro Herrera <alvherre@alvh.no-ip.org>2024-08-18 21:04:57 -0400
commitfad0da271e006015fcc25724aca2871d6dec04f5 (patch)
treed5c8cfaee92020fe793990acdaf9acf4333c5975
parent4b6aa0cffc04e8a5e1e876f3ba8cb11bd61ac40b (diff)
downloadpostgresql-fad0da271e006015fcc25724aca2871d6dec04f5.tar.gz
postgresql-fad0da271e006015fcc25724aca2871d6dec04f5.zip
Search for SLRU page only in its own bank
One of the two slot scans in SlruSelectLRUPage was not walking only the slots in the specific bank where the buffer could be; change it to do that. Oversight in 53c2a97a9266. Author: Sergey Sargsyan <sergey.sargsyan.2001@gmail.com> Discussion: https://postgr.es/m/18582-5f301dd30ba91a38@postgresql.org
-rw-r--r--src/backend/access/transam/slru.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backend/access/transam/slru.c b/src/backend/access/transam/slru.c
index 248aa1a6553..27473009b00 100644
--- a/src/backend/access/transam/slru.c
+++ b/src/backend/access/transam/slru.c
@@ -1184,7 +1184,7 @@ SlruSelectLRUPage(SlruCtl ctl, int64 pageno)
Assert(LWLockHeldByMe(SimpleLruGetBankLock(ctl, pageno)));
/* See if page already has a buffer assigned */
- for (int slotno = 0; slotno < shared->num_slots; slotno++)
+ for (int slotno = bankstart; slotno < bankend; slotno++)
{
if (shared->page_status[slotno] != SLRU_PAGE_EMPTY &&
shared->page_number[slotno] == pageno)