pgsql: Revert "Mark modified the FSM buffer as dirty during recovery"

From: Alexander Korotkov <akorotkov(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Revert "Mark modified the FSM buffer as dirty during recovery"
Date: 2026-09-08 11:09:29
Message-ID: E1x3thg-00000003yz8-3Hrv@gemulon.postgresql.org
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Revert "Mark modified the FSM buffer as dirty during recovery"

This reverts commit c06d1a4ba6b26eef27b04074683cccade6c277ee.

The commit assumed that if the FSM code tolerates torn pages, everything else
does so. Readers that do not tolerate that include RelationCopyStorage(),
used by ALTER TABLE ... SET TABLESPACE for every fork, the read stream in
RelationCopyStorageUsingBuffer() used by CREATE DATABASE ... STRATEGY =
wal_log, and, most awkwardly, the checksum verification in base backups and
pg_checksums.

Reported-by: Noah Misch <noah(at)leadboat(dot)com>
Discussion: https://postgr.es/m/20260901211837.f6.noahmisch%40microsoft.com
Backpatch-through: 14
Reviewed-by: Andrey Borodin <x4mmm(at)yandex-team(dot)ru>

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/3bed1f91aa5f184202ffb24f5af359f5af2cd1cd

Modified Files
--------------
src/backend/storage/freespace/freespace.c | 12 +-----------
1 file changed, 1 insertion(+), 11 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Álvaro Herrera 2026-09-08 12:07:54 pgsql: Reject REPACK (ANALYZE) in a transaction block
Previous Message Alexander Korotkov 2026-09-08 11:09:13 pgsql: Revert "Mark modified the FSM buffer as dirty during recovery"