| From: | Daniel Gustafsson <dgustafsson(at)postgresql(dot)org> |
|---|---|
| To: | pgsql-committers(at)lists(dot)postgresql(dot)org |
| Subject: | pgsql: Do not reuse rd_smgr in fork loop when enabling data checksums |
| Date: | 2026-08-04 10:21:39 |
| Message-ID: | E1wrCHD-000000009Tf-08h0@gemulon.postgresql.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-committers |
Do not reuse rd_smgr in fork loop when enabling data checksums
ProcessSingleRelationByOid called RelationGetSmgr(rel), discarded the
result, and then read rel->rd_smgr directly when looping over forks.
Only RelationGetSmgr is authorized to read that field since a relcache
invalidation resets rd_smgr to NULL.
Backpatch to v19 where online checksums were introduced.
Author: Mihail Nikalayeu <mihailnikalayeu(at)gmail(dot)com>
Reviewed-by: ChangAo Chen <cca5507(at)qq(dot)com>
Reviewed-by: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
Discussion: https://postgr.es/m/CADzfLwXGvb4Y-mqy8T+O0f_tkXR1sTDBGzP5Z=V_qcGnZ46rWg@mail.gmail.com
Backpatch-through: 19
Branch
------
REL_19_STABLE
Details
-------
https://git.postgresql.org/pg/commitdiff/01805b7d16b9a06d5223071215db0337bc8e6d92
Modified Files
--------------
src/backend/postmaster/datachecksum_state.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Peter Eisentraut | 2026-08-04 12:57:20 | pgsql: doc: Make synopsis placeholders consistent |
| Previous Message | Daniel Gustafsson | 2026-08-04 10:21:03 | pgsql: Do not reuse rd_smgr in fork loop when enabling data checksums |