Re: should frontend tools use syncfs() ?

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: Justin Pryzby <pryzby@telsasoft.com>, Thomas Munro <thomas.munro@gmail.com>, David Steele <david@pgmasters.net>, Fujii Masao <masao.fujii@oss.nttdata.com>, Bruce Momjian <bruce@momjian.us>, Tom Lane <tgl@sss.pgh.pa.us>, Michael Brown <michael.brown@discourse.org>, pgsql-hackers@postgresql.org
Date: 2023-08-17T02:15:03Z
Lists: pgsql-hackers
On Wed, Aug 16, 2023 at 08:23:25AM -0700, Nathan Bossart wrote:
> Ah, it looks like this code used to treat fsync() errors as non-fatal, but
> it was changed in commit 1420617.  I still find it a bit strange that some
> errors that prevent a file from being sync'd are non-fatal while others
> _are_ fatal, but that is probably a topic for another thread.

Right.  That rings a bell.
--
Michael

Commits

  1. Adjust documentation for syncfs().

  2. Improve the naming in wal_sync_method code.

  3. Allow using syncfs() in frontend utilities.

  4. Add support for syncfs() in frontend support functions.

  5. Make enum for sync methods available to frontend code.

  6. Move PG_TEMP_FILE* macros to file_utils.h.

  7. Change client-side fsync_fname() to report errors fatally