0001-Fix-checkpointer-PANIC-due-to-missing-fsync-cancel-i.patch
application/octet-stream
Filename: 0001-Fix-checkpointer-PANIC-due-to-missing-fsync-cancel-i.patch
Type: application/octet-stream
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 0001
Subject: Fix checkpointer PANIC due to missing fsync cancel in mdunlinkfork()
| File | + | − |
|---|---|---|
| src/backend/storage/smgr/md.c | 5 | 0 |
From 48089e678b425291442f4dc14d87ca25c524f65f Mon Sep 17 00:00:00 2001 From: Satyanarayana Narlapuram <satyanarlapuram@gmail.com> Date: Tue, 14 Apr 2026 00:09:44 +0000 Subject: [PATCH] Fix checkpointer PANIC due to missing fsync cancel in mdunlinkfork() Add missing register_forget_request() in the 'else' branch of mdunlinkfork(), before register_unlink_segment(), matching what the 'if' branch already does. --- src/backend/storage/smgr/md.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/backend/storage/smgr/md.c b/src/backend/storage/smgr/md.c index dee2903..d715307 100644 --- a/src/backend/storage/smgr/md.c +++ b/src/backend/storage/smgr/md.c @@ -419,6 +419,11 @@ mdunlinkfork(RelFileLocatorBackend rlocator, ForkNumber forknum, bool isRedo) /* Prevent other backends' fds from holding on to the disk space */ ret = do_truncate(path.str); + /* Forget any pending sync requests for the first segment */ + save_errno = errno; + register_forget_request(rlocator, forknum, 0 /* first seg */ ); + errno = save_errno; + /* Register request to unlink first segment later */ save_errno = errno; register_unlink_segment(rlocator, forknum, 0 /* first seg */ ); -- 2.43.0