]> granicus.if.org Git - postgresql/commit
Fix failure to mark init buffers as BM_PERMANENT.
authorRobert Haas <rhaas@postgresql.org>
Tue, 14 Mar 2017 15:51:11 +0000 (11:51 -0400)
committerRobert Haas <rhaas@postgresql.org>
Tue, 14 Mar 2017 15:51:11 +0000 (11:51 -0400)
commit87f99820349bbb020d1d65dd739a910c6f9c813b
tree83e104228ddaadc71e71a7b730b12d4e709432d3
parent37289ffdbfc7319a3cdb271b11227bf682f76d90
Fix failure to mark init buffers as BM_PERMANENT.

This could result in corruption of the init fork of an unlogged index
if the ambuildempty routine for that index used shared buffers to
create the init fork, which was true for brin, gin, gist, and hash
indexes.

Patch by me, based on an earlier patch by Michael Paquier, who also
reviewed this one.  This also incorporates an idea from Artur
Zakirov.

Discussion: http://postgr.es/m/CACYUyc8yccE4xfxhqxfh_Mh38j7dRFuxfaK1p6dSNAEUakxUyQ@mail.gmail.com
src/backend/storage/buffer/bufmgr.c
src/include/storage/buf_internals.h