On Mon, Sep 07, 2026 at 06:22:22PM +0300, Alexander Korotkov wrote: > 0002 is patch for FSM readme to highlight this aspect > > I'm going to push (and backpatch) 0001. 0002 needs review.
> Subject: [PATCH v1 2/2] Say in the FSM README why its hint writes still need > full page images > +That RBM_ZERO_ON_ERROR is a property of this directory, not of the FSM fork > +itself. The files themselves are ordinary relation files, and plenty of code > +outside freespace.c reads them and does verify checksums: > +RelationCopyStorage(), which ALTER TABLE ... SET TABLESPACE runs over every > +fork; the read stream in RelationCopyStorageUsingBuffer(), used by > +CREATE DATABASE ... STRATEGY = wal_log; and the checksum verification in base > +backups and in pg_checksums. The last two are the reason this cannot simply > be > +relaxed: an external verification tool has no way to tell a tear that we > +consider harmless from one caused by failing storage, so making it accept > +the former blinds it to the latter. One could relax the "last two" by having those tools skip checksum verification for *_fsm files, so let's not claim it's infeasible. It's true that this could miss failing-storage evidence that coincidentally landed in FSM, but accepting that could be the right thing someday. Other than that, I agree with this README change. Thanks.
