0001-Add-consistency-check-for-shmem-and-on-disk-control-.patch

text/plain

Filename: 0001-Add-consistency-check-for-shmem-and-on-disk-control-.patch
Type: text/plain
Part: 0
Message: Re: Return pg_control from pg_backup_stop().

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: Add consistency check for shmem and on-disk control file
File+
src/backend/access/transam/xlog.c 11 0
From de5b9b00867e39e73dc99a1ee61a814cead1ab7d Mon Sep 17 00:00:00 2001
From: Michael Paquier <michael@paquier.xyz>
Date: Wed, 18 Mar 2026 13:44:01 +0900
Subject: [PATCH] Add consistency check for shmem and on-disk control file

---
 src/backend/access/transam/xlog.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index c8ea1ea49d24..0f8516fcb563 100644
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -9606,6 +9606,17 @@ backup_control_file(uint8_t *controlFile)
 
 	LWLockAcquire(ControlFileLock, LW_SHARED);
 	memcpy(controlFile, ControlFile, sizeof(ControlFileData));
+
+#ifdef USE_ASSERT_CHECKING
+	{
+		bool crc_ok;
+		ControlFileData *dataDisk = get_controlfile(DataDir, &crc_ok);
+
+		Assert(crc_ok &&
+			   memcmp(dataDisk, ControlFile, sizeof(ControlFileData)) == 0);
+	}
+#endif
+
 	LWLockRelease(ControlFileLock);
 
 	controlData->backupLabelRequired = true;
-- 
2.53.0