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

