From e01431cfa6559536c58aab1df386e9246618d95c Mon Sep 17 00:00:00 2001 From: Andres Freund Date: Fri, 21 Feb 2025 13:26:57 -0500 Subject: [PATCH v2 4/4] bufmgr: Assert that MAX_BACKENDS is compatible with BufferDesc.state So far the dependency was documented in the comment above MAX_BACKENDS, but not checked. Discussion: https://postgr.es/m/CA+COZaBO_s3LfALq=b+HcBHFSOEGiApVjrRacCe4VP9m7CJsNQ@mail.gmail.com --- src/include/storage/buf_internals.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/include/storage/buf_internals.h b/src/include/storage/buf_internals.h index d830d5c9841..8b32fb108b0 100644 --- a/src/include/storage/buf_internals.h +++ b/src/include/storage/buf_internals.h @@ -21,6 +21,7 @@ #include "storage/bufmgr.h" #include "storage/condition_variable.h" #include "storage/lwlock.h" +#include "storage/procnumber.h" #include "storage/shmem.h" #include "storage/smgr.h" #include "storage/spin.h" @@ -86,6 +87,8 @@ StaticAssertDecl(BUF_REFCOUNT_BITS + BUF_USAGECOUNT_BITS + BUF_FLAG_BITS == 32, StaticAssertDecl(BM_MAX_USAGE_COUNT < (1 << BUF_USAGECOUNT_BITS), "BM_MAX_USAGE_COUNT doesn't fit in BUF_USAGECOUNT_BITS bits"); +StaticAssertDecl(MAX_BACKENDS_BITS <= BUF_REFCOUNT_BITS, + "MAX_BACKENDS_BITS needs to be <= BUF_REFCOUNT_BITS"); /* * Buffer tag identifies which disk block the buffer contains. -- 2.48.1.76.g4e746b1a31.dirty