agora inbox for pgsql-hackers@postgresql.org
help / color / mirror / Atom feed[PATCH v3 1/4] Refactor goto into for loop in GetVictimBuffer()
210+ messages / 2 participants
[nested] [flat]
* [PATCH v3 1/4] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
LGTM.
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer()
@ 2025-09-02 15:00 Melanie Plageman <melanieplageman@gmail.com>
0 siblings, 0 replies; 210+ messages in thread
From: Melanie Plageman @ 2025-09-02 15:00 UTC (permalink / raw)
@@ -731,6 +741,13 @@ StrategyRejectBuffer(BufferAccessStrategy
strategy, BufferDesc *buf, bool from_r
strategy->buffers[strategy->current] !=3D BufferDescriptorGetBuffe=
r(buf))
return false;
+ buf_state =3D LockBufHdr(buf);
+ lsn =3D BufferGetLSN(buf);
+ UnlockBufHdr(buf, buf_state);
+
+ if (!XLogNeedsFlush(lsn))
+ return true;
I think this should return false.
I am planning to review the other patches later and this is for the
first patch only.
--
Regards,
Nazir Bilal Yavuz
Microsoft
^ permalink raw reply [nested|flat] 210+ messages in thread
* [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared.
@ 2026-04-13 09:36 Antonin Houska <ah@cybertec.at>
0 siblings, 0 replies; 210+ messages in thread
From: Antonin Houska @ 2026-04-13 09:36 UTC (permalink / raw)
The value is only needed by te worker, so there is no need to store it in
shared memory.
---
src/backend/commands/repack_worker.c | 5 +++--
src/include/commands/repack_internal.h | 1 -
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/backend/commands/repack_worker.c b/src/backend/commands/repack_worker.c
index 5bd020e0184..a594d6db25f 100644
--- a/src/backend/commands/repack_worker.c
+++ b/src/backend/commands/repack_worker.c
@@ -51,6 +51,7 @@ static XLogSegNo repack_current_segment = 0;
static RelFileLocator repacked_rel_locator = {.relNumber = InvalidOid};
static RelFileLocator repacked_rel_toast_locator = {.relNumber = InvalidOid};
+static dsm_segment *worker_dsm_segment = NULL;
/* REPACK decoding worker entry point */
void
@@ -78,9 +79,9 @@ RepackWorkerMain(Datum main_arg)
ereport(ERROR,
errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
errmsg("could not map dynamic shared memory segment"));
+ worker_dsm_segment = seg;
shared = (DecodingWorkerShared *) dsm_segment_address(seg);
- shared->dsm_seg = seg;
/* Arrange to signal the leader if we exit. */
before_shmem_exit(RepackWorkerShutdown, PointerGetDatum(shared));
@@ -176,7 +177,7 @@ RepackWorkerShutdown(int code, Datum arg)
PROCSIG_REPACK_MESSAGE,
shared->backend_proc_number);
- dsm_detach(shared->dsm_seg);
+ dsm_detach(worker_dsm_segment);
}
bool
diff --git a/src/include/commands/repack_internal.h b/src/include/commands/repack_internal.h
index 3ff64444351..6a85cee8910 100644
--- a/src/include/commands/repack_internal.h
+++ b/src/include/commands/repack_internal.h
@@ -107,7 +107,6 @@ typedef struct DecodingWorkerShared
PGPROC *backend_proc;
pid_t backend_pid;
ProcNumber backend_proc_number;
- dsm_segment *dsm_seg;
/*
* Memory the queue is located in.
--
2.47.3
--=-=-=--
^ permalink raw reply [nested|flat] 210+ messages in thread
end of thread, other threads:[~2026-04-13 09:36 UTC | newest]
Thread overview: 210+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v3 1/4] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2025-09-02 15:00 [PATCH v2 1/9] Refactor goto into for loop in GetVictimBuffer() Melanie Plageman <melanieplageman@gmail.com>
2026-04-13 09:36 [PATCH 2/2] Remove dsm_seg from DecodingWorkerShared. Antonin Houska <ah@cybertec.at>
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox