Re: should frontend tools use syncfs() ?

From: Nathan Bossart <nathandbossart(at)gmail(dot)com>
To: Michael Paquier <michael(at)paquier(dot)xyz>
Cc: Justin Pryzby <pryzby(at)telsasoft(dot)com>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, David Steele <david(at)pgmasters(dot)net>, Fujii Masao <masao(dot)fujii(at)oss(dot)nttdata(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Michael Brown <michael(dot)brown(at)discourse(dot)org>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: should frontend tools use syncfs() ?
Date: 2023-08-31 15:48:58
Message-ID: 20230831154858.GA3075395@nathanxps13
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Aug 31, 2023 at 02:30:33PM +0900, Michael Paquier wrote:
> - Should we have some regression tests? We should only need one test
> in one of the binaries to be able to stress the new code paths of
> file_utils.c with syncfs. The cheapest one may be pg_dump with a
> dump in directory format? Note that we have tests there that depend
> on lz4 or gzip existing, which are conditional.

I added one for initdb in v8.

> - Perhaps 0002 should be split into two parts? The first patch could
> introduce DataDirSyncMethod in file_utils.h with the new routines in
> file_utils.h (including syncfs support), and the second patch would
> plug the new option to all the binaries. In the first patch, I would
> hardcode DATA_DIR_SYNC_METHOD_FSYNC.

Ha, I was just thinking about this, too. I actually split it into 3
patches. The first adds DataDirSyncMethod and uses it for
recovery_init_sync_method. The second adds syncfs() support in
file_utils.c. And the third adds the ability to specify syncfs in the
frontend utilities. WDYT?

--
Nathan Bossart
Amazon Web Services: https://aws.amazon.com

Attachment Content-Type Size
v8-0001-move-PG_TEMP_FILE-macros-to-file_utils.h.patch text/x-diff 4.1 KB
v8-0002-make-common-enum-for-sync-methods.patch text/x-diff 3.7 KB
v8-0003-add-support-for-syncfs-in-frontend-support-functi.patch text/x-diff 15.8 KB
v8-0004-allow-syncfs-in-frontend-utilities.patch text/x-diff 25.8 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message John Naylor 2023-08-31 15:54:02 Re: Initdb-time block size specification
Previous Message Mat Arye 2023-08-31 15:32:36 Re: UUID v7