v1-0001-md-measure-just-FileSync-for-pgstat_io-without-Fi.patch
text/x-patch
Filename: v1-0001-md-measure-just-FileSync-for-pgstat_io-without-Fi.patch
Type: text/x-patch
Part: 0
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: format-patch
Series: patch v1-0001
Subject: md: measure just FileSync() for pgstat_io without FileClose()
| File | + | − |
|---|---|---|
| src/backend/storage/smgr/md.c | 3 | 3 |
From 38a773abc69e5eca89de39aba5b988f62f151a91 Mon Sep 17 00:00:00 2001 From: Jakub Wartak <jakub.wartak@enterprisedb.com> Date: Thu, 30 Apr 2026 12:59:54 +0200 Subject: [PATCH v1] md: measure just FileSync() for pgstat_io without FileClose() Measure just FileSync() duration for IOOP_FSYNC rather than potentially including additional close() system call duration too. Author: Jakub Wartak <jakub.wartak@enterprisedb.com> Discussion: https://postgr.es/m/XXX --- src/backend/storage/smgr/md.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/storage/smgr/md.c b/src/backend/storage/smgr/md.c index dee29037b16..5da9a9b06c3 100644 --- a/src/backend/storage/smgr/md.c +++ b/src/backend/storage/smgr/md.c @@ -1937,12 +1937,12 @@ mdsyncfiletag(const FileTag *ftag, char *path) result = FileSync(file, WAIT_EVENT_DATA_FILE_SYNC); save_errno = errno; - if (need_to_close) - FileClose(file); - pgstat_count_io_op_time(IOOBJECT_RELATION, IOCONTEXT_NORMAL, IOOP_FSYNC, io_start, 1, 0); + if (need_to_close) + FileClose(file); + errno = save_errno; return result; } -- 2.43.0