diff options
author | Thomas Munro <tmunro@postgresql.org> | 2019-02-24 13:38:15 +1300 |
---|---|---|
committer | Thomas Munro <tmunro@postgresql.org> | 2019-02-24 22:37:20 +1300 |
commit | 483520eca426fb1b428e8416d1d014ac5ad80ef4 (patch) | |
tree | f459a0c02544d3f39530ad7578290e82f767cb73 /src/common/file_utils.c | |
parent | f27522553992132d34c67caeea193d57934111cf (diff) | |
download | postgresql-483520eca426fb1b428e8416d1d014ac5ad80ef4.tar.gz postgresql-483520eca426fb1b428e8416d1d014ac5ad80ef4.zip |
Tolerate ENOSYS failure from sync_file_range().
One unintended consequence of commit 9ccdd7f6 was that Windows WSL
users started getting a panic whenever we tried to initiate data
flushing with sync_file_range(), because WSL does not implement that
system call. Previously, they got a stream of periodic warnings,
which was also undesirable but at least ignorable.
Prevent the panic by handling ENOSYS specially and skipping the panic
promotion with data_sync_elevel(). Also suppress future attempts
after the first such failure so that the pre-existing problem of
noisy warnings is improved.
Back-patch to 9.6 (older branches were not affected in this way by
9ccdd7f6).
Author: Thomas Munro and James Sewell
Tested-by: James Sewell
Reported-by: Bruce Klein
Discussion: https://postgr.es/m/CA+mCpegfOUph2U4ZADtQT16dfbkjjYNJL1bSTWErsazaFjQW9A@mail.gmail.com
Diffstat (limited to 'src/common/file_utils.c')
0 files changed, 0 insertions, 0 deletions