Move check for fsync=off so that pendingOps still gets cleared.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Thu, 14 May 2020 05:39:26 +0000 (08:39 +0300)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Thu, 14 May 2020 05:39:26 +0000 (08:39 +0300)
commite8abf585ab453ca9c2f66f2138baf6d3c9c8fbf0
tree5681d39670f1e7ed56ae6d1ce053c45837b69616
parenta169155453e3d1c40c729a5318fd5298a990e5b0
Move check for fsync=off so that pendingOps still gets cleared.

Commit 3eb77eba5a moved the loop and refactored it, and inadvertently
changed the effect of fsync=off so that it also skipped removing entries
from the pendingOps table. That was not intentional, and leads to an
assertion failure if you turn fsync on while the server is running and
reload the config.

Backpatch-through: 12-
Reviewed-By: Thomas Munro
Discussion: https://www.postgresql.org/message-id/3cbc7f4b-a5fa-56e9-9591-c886deb07513%40iki.fi
src/backend/storage/sync/sync.c