0002-Clarify-StartDataChecksumsWorkerLauncher-function.patch
text/x-patch
Filename: 0002-Clarify-StartDataChecksumsWorkerLauncher-function.patch
Type: text/x-patch
Part: 1
Message:
Little checksum worker cleanups
Patch
Format: format-patch
Series: patch 0002
Subject: Clarify StartDataChecksumsWorkerLauncher() function
| File | + | − |
|---|---|---|
| src/backend/postmaster/datachecksum_state.c | 14 | 4 |
| src/include/postmaster/datachecksum_state.h | 0 | 14 |
From 92d92feb622384f9b80f1f8cb0a5deb079ab7c46 Mon Sep 17 00:00:00 2001
From: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: Tue, 23 Jun 2026 23:29:51 +0300
Subject: [PATCH 2/6] Clarify StartDataChecksumsWorkerLauncher() function
Mark StartDataChecksumsWorkerLauncher() as static, since it's not
called from outside the .c file. The DataChecksumsWorkerOperation
struct can be moved into the .c file too.
I found the "Main entry point for datachecksumsworker launcher
process" description misleading. That description would be a better
fit for DataChecksumsWorkerLauncherMain(), which is the process's
"main" function, rather than StartDataChecksumsWorkerLauncher().
Reword the comment.
---
src/backend/postmaster/datachecksum_state.c | 18 ++++++++++++++----
src/include/postmaster/datachecksum_state.h | 14 --------------
2 files changed, 14 insertions(+), 18 deletions(-)
diff --git a/src/backend/postmaster/datachecksum_state.c b/src/backend/postmaster/datachecksum_state.c
index 6fceb0b349c..91fff22d70d 100644
--- a/src/backend/postmaster/datachecksum_state.c
+++ b/src/backend/postmaster/datachecksum_state.c
@@ -276,6 +276,13 @@ static const ChecksumBarrierCondition checksum_barriers[9] =
{PG_DATA_CHECKSUM_OFF, PG_DATA_CHECKSUM_INPROGRESS_OFF},
};
+/* Possible operations the DataChecksumsWorker can perform */
+typedef enum DataChecksumsWorkerOperation
+{
+ ENABLE_DATACHECKSUMS,
+ DISABLE_DATACHECKSUMS,
+} DataChecksumsWorkerOperation;
+
/* Possible states for a database entry which has been processed */
typedef enum
{
@@ -364,6 +371,9 @@ static volatile sig_atomic_t launcher_running = false;
static DataChecksumsWorkerOperation operation;
/* Prototypes */
+static void StartDataChecksumsWorkerLauncher(DataChecksumsWorkerOperation op,
+ int cost_delay,
+ int cost_limit);
static void DataChecksumsShmemRequest(void *arg);
static bool DatabaseExists(Oid dboid);
static List *BuildDatabaseList(void);
@@ -564,12 +574,12 @@ enable_data_checksums(PG_FUNCTION_ARGS)
/*
* StartDataChecksumsWorkerLauncher
- * Main entry point for datachecksumsworker launcher process
+ * Start the datachecksumsworker launcher process, if not running yet
*
- * The main entrypoint for starting data checksums processing for enabling as
- * well as disabling.
+ * This is called to start data checksums processing for enabling as well as
+ * disabling.
*/
-void
+static void
StartDataChecksumsWorkerLauncher(DataChecksumsWorkerOperation op,
int cost_delay,
int cost_limit)
diff --git a/src/include/postmaster/datachecksum_state.h b/src/include/postmaster/datachecksum_state.h
index dbe25f5461f..f34db0c09e0 100644
--- a/src/include/postmaster/datachecksum_state.h
+++ b/src/include/postmaster/datachecksum_state.h
@@ -17,24 +17,10 @@
#include "storage/procsignal.h"
-/* Possible operations the DataChecksumsWorker can perform */
-typedef enum DataChecksumsWorkerOperation
-{
- ENABLE_DATACHECKSUMS,
- DISABLE_DATACHECKSUMS,
-} DataChecksumsWorkerOperation;
-
/* Prototypes for data checksum state manipulation */
bool AbsorbDataChecksumsBarrier(ProcSignalBarrierType barrier);
void EmitAndWaitDataChecksumsBarrier(uint32 state);
-/* Prototypes for data checksum background worker */
-
-/* Start the background processes for enabling or disabling checksums */
-void StartDataChecksumsWorkerLauncher(DataChecksumsWorkerOperation op,
- int cost_delay,
- int cost_limit);
-
/* Background worker entrypoints */
void DataChecksumsWorkerLauncherMain(Datum arg);
void DataChecksumsWorkerMain(Datum arg);
--
2.47.3