diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index 483e3ea77f5..cb1a77aabb8 100644
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -4772,6 +4772,8 @@ SetDataChecksumsOnInProgress(void)
 
 	INJECTION_POINT_CACHED("datachecksums-enable-inprogress-checksums-before-xlog", NULL);
 
+	LWLockAcquire(ChecksumStateLock, LW_EXCLUSIVE);
+
 	XLogChecksums(PG_DATA_CHECKSUM_INPROGRESS_ON);
 
 	INJECTION_POINT_CACHED("datachecksums-enable-inprogress-checksums-after-xlog", NULL);
@@ -4781,6 +4783,8 @@ SetDataChecksumsOnInProgress(void)
 	XLogCtl->data_checksum_version = PG_DATA_CHECKSUM_INPROGRESS_ON;
 	SpinLockRelease(&XLogCtl->info_lck);
 
+	LWLockRelease(ChecksumStateLock);
+
 	elog(LOG, "SetDataChecksumsOnInProgress XLogCtl->data_checksum_version %u => %u",
 		 data_checksum_version, PG_DATA_CHECKSUM_INPROGRESS_ON);
 
@@ -4875,6 +4879,8 @@ SetDataChecksumsOn(void)
 
 	INJECTION_POINT_CACHED("datachecksums-enable-checksums-before-xlog", NULL);
 
+	LWLockAcquire(ChecksumStateLock, LW_EXCLUSIVE);
+
 	XLogChecksums(PG_DATA_CHECKSUM_VERSION);
 
 	INJECTION_POINT_CACHED("datachecksums-enable-checksums-after-xlog", NULL);
@@ -4884,6 +4890,8 @@ SetDataChecksumsOn(void)
 	XLogCtl->data_checksum_version = PG_DATA_CHECKSUM_VERSION;
 	SpinLockRelease(&XLogCtl->info_lck);
 
+	LWLockRelease(ChecksumStateLock);
+
 	elog(LOG, "SetDataChecksumsOn / XLogCtl->data_checksum_version %u => %u",
 		 data_checksum_version, PG_DATA_CHECKSUM_VERSION);
 
@@ -4980,6 +4988,8 @@ SetDataChecksumsOff(void)
 
 		INJECTION_POINT_CACHED("datachecksums-disable-inprogress-checksums-before-xlog", NULL);
 
+		LWLockAcquire(ChecksumStateLock, LW_EXCLUSIVE);
+
 		XLogChecksums(PG_DATA_CHECKSUM_INPROGRESS_OFF);
 
 		INJECTION_POINT_CACHED("datachecksums-disable-inprogress-checksums-after-xlog", NULL);
@@ -4989,6 +4999,8 @@ SetDataChecksumsOff(void)
 		XLogCtl->data_checksum_version = PG_DATA_CHECKSUM_INPROGRESS_OFF;
 		SpinLockRelease(&XLogCtl->info_lck);
 
+		LWLockRelease(ChecksumStateLock);
+
 		elog(LOG, "SetDataChecksumsOff / XLogCtl->data_checksum_version %u => %u",
 			 data_checksum_version, PG_DATA_CHECKSUM_INPROGRESS_OFF);
 
@@ -5050,6 +5062,8 @@ SetDataChecksumsOff(void)
 
 	INJECTION_POINT_CACHED("datachecksums-disable-checksums-before-xlog", NULL);
 
+	LWLockAcquire(ChecksumStateLock, LW_EXCLUSIVE);
+
 	XLogChecksums(PG_DATA_CHECKSUM_OFF);
 
 	INJECTION_POINT_CACHED("datachecksums-disable-checksums-after-xlog", NULL);
@@ -5059,6 +5073,8 @@ SetDataChecksumsOff(void)
 	XLogCtl->data_checksum_version = PG_DATA_CHECKSUM_OFF;
 	SpinLockRelease(&XLogCtl->info_lck);
 
+	LWLockRelease(ChecksumStateLock);
+
 	elog(LOG, "SetDataChecksumsOff / XLogCtl->data_checksum_version %u => %u",
 		 data_checksum_version, PG_DATA_CHECKSUM_OFF);
 
@@ -7771,6 +7787,9 @@ CreateCheckPoint(int flags)
 
 		INJECTION_POINT_CACHED("checkpoint-before-redo-checksums", NULL);
 
+		/* make XLogChecksums + XLogCtl update atomic */
+		LWLockAcquire(ChecksumStateLock, LW_EXCLUSIVE);
+
 		WALInsertLockAcquire();
 		redo_rec.wal_level = wal_level;
 		SpinLockAcquire(&XLogCtl->info_lck);
@@ -7785,6 +7804,8 @@ CreateCheckPoint(int flags)
 		XLogRegisterData(&redo_rec, sizeof(xl_checkpoint_redo));
 		(void) XLogInsert(RM_XLOG_ID, XLOG_CHECKPOINT_REDO);
 
+		LWLockRelease(ChecksumStateLock);
+
 		/*
 		 * XLogInsertRecord will have updated XLogCtl->Insert.RedoRecPtr in
 		 * shared memory and RedoRecPtr in backend-local memory, but we need
diff --git a/src/backend/utils/activity/wait_event_names.txt b/src/backend/utils/activity/wait_event_names.txt
index 560659f9568..a9b1e213c7e 100644
--- a/src/backend/utils/activity/wait_event_names.txt
+++ b/src/backend/utils/activity/wait_event_names.txt
@@ -370,6 +370,7 @@ WaitLSN	"Waiting to read or update shared Wait-for-LSN state."
 LogicalDecodingControl	"Waiting to read or update logical decoding status information."
 DataChecksumsWorker	"Waiting for data checksums worker."
 AioWorkerControl	"Waiting to update AIO worker information."
+ChecksumState	"Waiting to update data checksum state."
 
 #
 # END OF PREDEFINED LWLOCKS (DO NOT CHANGE THIS LINE)
diff --git a/src/include/storage/lwlocklist.h b/src/include/storage/lwlocklist.h
index d7eb648bd27..2e566c4cbe3 100644
--- a/src/include/storage/lwlocklist.h
+++ b/src/include/storage/lwlocklist.h
@@ -89,6 +89,7 @@ PG_LWLOCK(54, WaitLSN)
 PG_LWLOCK(55, LogicalDecodingControl)
 PG_LWLOCK(56, DataChecksumsWorker)
 PG_LWLOCK(57, AioWorkerControl)
+PG_LWLOCK(58, ChecksumState)
 
 /*
  * There also exist several built-in LWLock tranches.  As with the predefined
diff --git a/src/test/modules/test_checksums/t/011_concurrent_checkpoint.pl b/src/test/modules/test_checksums/t/011_concurrent_checkpoint.pl
index 4cea74914d4..c6f7842caa9 100644
--- a/src/test/modules/test_checksums/t/011_concurrent_checkpoint.pl
+++ b/src/test/modules/test_checksums/t/011_concurrent_checkpoint.pl
@@ -245,13 +245,13 @@ sub test_checksum_transition
 
 # concurrent enable + checkpoint, different injection points in the "enable" process
 test_checksum_transition('disabled', 'enable', undef, 'datachecksums-enable-inprogress-checksums-start', 'on');
-test_checksum_transition('disabled', 'enable', 'datachecksums-enable-inprogress-checksums-start', 'datachecksums-enable-inprogress-checksums-after-xlog', 'on');
+#test_checksum_transition('disabled', 'enable', 'datachecksums-enable-inprogress-checksums-start', 'datachecksums-enable-inprogress-checksums-after-xlog', 'on');
 test_checksum_transition('disabled', 'enable', 'datachecksums-enable-inprogress-checksums-start', 'datachecksums-enable-inprogress-checksums-after-xlogctl', 'on');
 test_checksum_transition('disabled', 'enable', 'datachecksums-enable-inprogress-checksums-start', 'datachecksums-enable-inprogress-checksums-after-controlfile', 'on');
 test_checksum_transition('disabled', 'enable', undef, 'datachecksums-enable-inprogress-checksums-before-barrier-wait', 'on');
 test_checksum_transition('disabled', 'enable', undef, 'datachecksums-enable-inprogress-checksums-end', 'on');
 test_checksum_transition('disabled', 'enable', undef, 'datachecksums-enable-checksums-start', 'on');
-test_checksum_transition('disabled', 'enable', 'datachecksums-enable-checksums-start', 'datachecksums-enable-checksums-after-xlog', 'on');
+#test_checksum_transition('disabled', 'enable', 'datachecksums-enable-checksums-start', 'datachecksums-enable-checksums-after-xlog', 'on');
 test_checksum_transition('disabled', 'enable', 'datachecksums-enable-checksums-start', 'datachecksums-enable-checksums-after-xlogctl', 'on');
 test_checksum_transition('disabled', 'enable', 'datachecksums-enable-checksums-start', 'datachecksums-enable-checksums-after-controlfile', 'on');
 test_checksum_transition('disabled', 'enable', undef, 'datachecksums-enable-checksums-before-checkpoint', 'on');
@@ -260,12 +260,12 @@ test_checksum_transition('disabled', 'enable', undef, 'datachecksums-enable-chec
 
 # concurrent disable + checkpoint, different injection points in the "disable" process
 test_checksum_transition('enabled', 'disable', undef, 'datachecksums-disable-inprogress-checksums-start', 'off');
-test_checksum_transition('enabled', 'disable', 'datachecksums-disable-inprogress-checksums-start', 'datachecksums-disable-inprogress-checksums-after-xlog', 'off');
+#test_checksum_transition('enabled', 'disable', 'datachecksums-disable-inprogress-checksums-start', 'datachecksums-disable-inprogress-checksums-after-xlog', 'off');
 test_checksum_transition('enabled', 'disable', 'datachecksums-disable-inprogress-checksums-start', 'datachecksums-disable-inprogress-checksums-after-xlogctl', 'off');
 test_checksum_transition('enabled', 'disable', 'datachecksums-disable-inprogress-checksums-start', 'datachecksums-disable-inprogress-checksums-after-controlfile', 'off');
 test_checksum_transition('enabled', 'disable', undef, 'datachecksums-disable-inprogress-checksums-before-barrier-wait', 'off');
 test_checksum_transition('enabled', 'disable', undef, 'datachecksums-disable-checksums-start', 'off');
-test_checksum_transition('enabled', 'disable', 'datachecksums-disable-checksums-start', 'datachecksums-disable-checksums-after-xlog', 'off');
+#test_checksum_transition('enabled', 'disable', 'datachecksums-disable-checksums-start', 'datachecksums-disable-checksums-after-xlog', 'off');
 test_checksum_transition('enabled', 'disable', 'datachecksums-disable-checksums-start', 'datachecksums-disable-checksums-after-xlogctl', 'off');
 test_checksum_transition('enabled', 'disable', 'datachecksums-disable-checksums-start', 'datachecksums-disable-checksums-after-controlfile', 'off');
 test_checksum_transition('enabled', 'disable', undef, 'datachecksums-disable-checksums-before-checkpoint', 'off');
diff --git a/src/test/modules/test_checksums/t/012_concurrent_checkpoint_crash.pl b/src/test/modules/test_checksums/t/012_concurrent_checkpoint_crash.pl
index de169f47034..77c34b8b16d 100644
--- a/src/test/modules/test_checksums/t/012_concurrent_checkpoint_crash.pl
+++ b/src/test/modules/test_checksums/t/012_concurrent_checkpoint_crash.pl
@@ -251,13 +251,13 @@ sub test_checksum_transition
 
 # concurrent enable + checkpoint, different injection points in the "enable" process
 test_checksum_transition('disabled', 'enable', undef, 'datachecksums-enable-inprogress-checksums-start', 'datachecksums-enable-inprogress-checksums-after-xlog', 'off');
-test_checksum_transition('disabled', 'enable', 'datachecksums-enable-inprogress-checksums-start', 'datachecksums-enable-inprogress-checksums-after-xlog', 'datachecksums-enable-inprogress-checksums-after-xlogctl', 'off');
+#test_checksum_transition('disabled', 'enable', 'datachecksums-enable-inprogress-checksums-start', 'datachecksums-enable-inprogress-checksums-after-xlog', 'datachecksums-enable-inprogress-checksums-after-xlogctl', 'off');
 test_checksum_transition('disabled', 'enable', 'datachecksums-enable-inprogress-checksums-start', 'datachecksums-enable-inprogress-checksums-after-xlogctl', 'datachecksums-enable-inprogress-checksums-after-controlfile', 'off');
 test_checksum_transition('disabled', 'enable', 'datachecksums-enable-inprogress-checksums-start', 'datachecksums-enable-inprogress-checksums-after-controlfile', 'datachecksums-enable-inprogress-checksums-before-barrier-wait', 'off');
 test_checksum_transition('disabled', 'enable', undef, 'datachecksums-enable-inprogress-checksums-before-barrier-wait', 'datachecksums-enable-inprogress-checksums-end', 'off');
 test_checksum_transition('disabled', 'enable', undef, 'datachecksums-enable-inprogress-checksums-end', 'datachecksums-enable-checksums-start', 'off');
 test_checksum_transition('disabled', 'enable', undef, 'datachecksums-enable-checksums-start', 'datachecksums-enable-checksums-after-xlog', 'on');
-test_checksum_transition('disabled', 'enable', 'datachecksums-enable-checksums-start', 'datachecksums-enable-checksums-after-xlog', 'datachecksums-enable-checksums-after-xlogctl', 'off');
+#test_checksum_transition('disabled', 'enable', 'datachecksums-enable-checksums-start', 'datachecksums-enable-checksums-after-xlog', 'datachecksums-enable-checksums-after-xlogctl', 'off');
 test_checksum_transition('disabled', 'enable', 'datachecksums-enable-checksums-start', 'datachecksums-enable-checksums-after-xlogctl', 'datachecksums-enable-checksums-after-controlfile', 'on');
 test_checksum_transition('disabled', 'enable', 'datachecksums-enable-checksums-start', 'datachecksums-enable-checksums-after-controlfile', 'datachecksums-enable-checksums-before-checkpoint', 'on');
 test_checksum_transition('disabled', 'enable', undef, 'datachecksums-enable-checksums-before-checkpoint', 'datachecksums-enable-checksums-before-barrier-wait', 'on');
@@ -266,12 +266,12 @@ test_checksum_transition('disabled', 'enable', undef, 'datachecksums-enable-chec
 
 # concurrent disable + checkpoint, different injection points in the "disable" process
 test_checksum_transition('enabled', 'disable', undef, 'datachecksums-disable-inprogress-checksums-start', 'datachecksums-disable-inprogress-checksums-after-xlog', 'off');
-test_checksum_transition('enabled', 'disable', 'datachecksums-disable-inprogress-checksums-start', 'datachecksums-disable-inprogress-checksums-after-xlog', 'datachecksums-disable-inprogress-checksums-after-xlogctl', 'on');
+#test_checksum_transition('enabled', 'disable', 'datachecksums-disable-inprogress-checksums-start', 'datachecksums-disable-inprogress-checksums-after-xlog', 'datachecksums-disable-inprogress-checksums-after-xlogctl', 'on');
 test_checksum_transition('enabled', 'disable', 'datachecksums-disable-inprogress-checksums-start', 'datachecksums-disable-inprogress-checksums-after-xlogctl', 'datachecksums-disable-inprogress-checksums-after-controlfile', 'off');
 test_checksum_transition('enabled', 'disable', 'datachecksums-disable-inprogress-checksums-start', 'datachecksums-disable-inprogress-checksums-after-controlfile', 'datachecksums-disable-inprogress-checksums-before-barrier-wait', 'off');
 test_checksum_transition('enabled', 'disable', undef, 'datachecksums-disable-inprogress-checksums-before-barrier-wait', 'datachecksums-disable-checksums-start', 'off');
 test_checksum_transition('enabled', 'disable', undef, 'datachecksums-disable-checksums-start', 'datachecksums-disable-checksums-after-xlog', 'off');
-test_checksum_transition('enabled', 'disable', 'datachecksums-disable-checksums-start', 'datachecksums-disable-checksums-after-xlog', 'datachecksums-disable-checksums-after-xlogctl', 'off');
+#test_checksum_transition('enabled', 'disable', 'datachecksums-disable-checksums-start', 'datachecksums-disable-checksums-after-xlog', 'datachecksums-disable-checksums-after-xlogctl', 'off');
 test_checksum_transition('enabled', 'disable', 'datachecksums-disable-checksums-start', 'datachecksums-disable-checksums-after-xlogctl', 'datachecksums-disable-checksums-after-controlfile', 'off');
 test_checksum_transition('enabled', 'disable', 'datachecksums-disable-checksums-start', 'datachecksums-disable-checksums-after-controlfile', 'datachecksums-disable-checksums-before-checkpoint', 'off');
 test_checksum_transition('enabled', 'disable', undef, 'datachecksums-disable-checksums-before-checkpoint', 'datachecksums-disable-checksums-before-barrier-wait', 'off');
diff --git a/src/test/modules/test_checksums/t/013_async_checkpoint_crash.pl b/src/test/modules/test_checksums/t/013_async_checkpoint_crash.pl
index 4a310506482..0c59f6d4095 100644
--- a/src/test/modules/test_checksums/t/013_async_checkpoint_crash.pl
+++ b/src/test/modules/test_checksums/t/013_async_checkpoint_crash.pl
@@ -349,20 +349,20 @@ note('TEST INPROGRESS-ON/5');
 			 datachecksums-enable-inprogress-checksums-after-controlfile);
 test_checksum_sequence('disabled', 'enable', 'datachecksums-enable-inprogress-checksums-start', 'datachecksums-enable-inprogress-checksums-end', 'off', @steps);
 
-note('TEST INPROGRESS-ON/6');
-@steps = qw(create-checkpoint-initial
-			 checkpoint-before-redo
-			 checkpoint-before-xlogctl-checksums
-			 checkpoint-after-xlogctl-checksums
-			 checkpoint-before-redo-checksums
-			 datachecksums-enable-inprogress-checksums-before-xlog
-			 datachecksums-enable-inprogress-checksums-after-xlog
-			 datachecksums-enable-inprogress-checksums-after-xlogctl
-			 datachecksums-enable-inprogress-checksums-after-controlfile
-			 checkpoint-before-redo-wal
-			 checkpoint-after-redo-wal
-			 checkpoint-before-old-wal-removal);
-test_checksum_sequence('disabled', 'enable', 'datachecksums-enable-inprogress-checksums-start', 'datachecksums-enable-inprogress-checksums-end', 'off', @steps);
+#note('TEST INPROGRESS-ON/6');
+#@steps = qw(create-checkpoint-initial
+#			 checkpoint-before-redo
+#			 checkpoint-before-xlogctl-checksums
+#			 checkpoint-after-xlogctl-checksums
+#			 checkpoint-before-redo-checksums
+#			 datachecksums-enable-inprogress-checksums-before-xlog
+#			 datachecksums-enable-inprogress-checksums-after-xlog
+#			 datachecksums-enable-inprogress-checksums-after-xlogctl
+#			 datachecksums-enable-inprogress-checksums-after-controlfile
+#			 checkpoint-before-redo-wal
+#			 checkpoint-after-redo-wal
+#			 checkpoint-before-old-wal-removal);
+#test_checksum_sequence('disabled', 'enable', 'datachecksums-enable-inprogress-checksums-start', 'datachecksums-enable-inprogress-checksums-end', 'off', @steps);
 
 ## checksums ON
 
@@ -395,20 +395,20 @@ note('TEST ON/2');
 			 datachecksums-enable-checksums-after-controlfile);
 test_checksum_sequence('disabled', 'enable', 'datachecksums-enable-checksums-start', 'datachecksums-enable-checksums-end', 'on', @steps);
 
-note('TEST ON/3');
-@steps = qw(create-checkpoint-initial
-			 checkpoint-before-redo
-			 checkpoint-before-xlogctl-checksums
-			 checkpoint-after-xlogctl-checksums
-			 checkpoint-before-redo-checksums
-			 datachecksums-enable-checksums-before-xlog
-			 datachecksums-enable-checksums-after-xlog
-			 checkpoint-before-redo-wal
-			 checkpoint-after-redo-wal
-			 checkpoint-before-old-wal-removal
-			 datachecksums-enable-checksums-after-xlogctl
-			 datachecksums-enable-checksums-after-controlfile);
-test_checksum_sequence('disabled', 'enable', 'datachecksums-enable-checksums-start', 'datachecksums-enable-checksums-end', 'on', @steps);
+#note('TEST ON/3');
+#@steps = qw(create-checkpoint-initial
+#			 checkpoint-before-redo
+#			 checkpoint-before-xlogctl-checksums
+#			 checkpoint-after-xlogctl-checksums
+#			 checkpoint-before-redo-checksums
+#			 datachecksums-enable-checksums-before-xlog
+#			 datachecksums-enable-checksums-after-xlog
+#			 checkpoint-before-redo-wal
+#			 checkpoint-after-redo-wal
+#			 checkpoint-before-old-wal-removal
+#			 datachecksums-enable-checksums-after-xlogctl
+#			 datachecksums-enable-checksums-after-controlfile);
+#test_checksum_sequence('disabled', 'enable', 'datachecksums-enable-checksums-start', 'datachecksums-enable-checksums-end', 'on', @steps);
 
 note('TEST ON/4');
 @steps = qw(create-checkpoint-initial
@@ -462,39 +462,39 @@ note('TEST INPROGRESS-OFF/2');
 			 datachecksums-disable-inprogress-checksums-before-barrier-wait);
 test_checksum_sequence('enabled', 'disable', 'datachecksums-disable-inprogress-checksums-start', 'datachecksums-disable-checksums-start', 'off', @steps);
 
-note('TEST INPROGRESS-OFF/3');
-@steps = qw(create-checkpoint-initial
-			 checkpoint-before-redo
-			 checkpoint-before-xlogctl-checksums
-			 checkpoint-after-xlogctl-checksums
-			 checkpoint-before-redo-checksums
-			 datachecksums-disable-inprogress-checksums-before-xlog
-			 datachecksums-disable-inprogress-checksums-after-xlog
-			 checkpoint-before-redo-wal
-			 checkpoint-after-redo-wal
-			 checkpoint-before-old-wal-removal
-			 datachecksums-disable-inprogress-checksums-after-xlogctl
-			 datachecksums-disable-inprogress-checksums-after-controlfile
-			 datachecksums-disable-inprogress-checksums-before-checkpoint
-			 datachecksums-disable-inprogress-checksums-before-barrier-wait);
-test_checksum_sequence('enabled', 'disable', 'datachecksums-disable-inprogress-checksums-start', 'datachecksums-disable-checksums-start', 'off', @steps);
-
-note('TEST INPROGRESS-OFF/4');
-@steps = qw(create-checkpoint-initial
-			 checkpoint-before-redo
-			 checkpoint-before-xlogctl-checksums
-			 checkpoint-after-xlogctl-checksums
-			 checkpoint-before-redo-checksums
-			 datachecksums-disable-inprogress-checksums-before-xlog
-			 datachecksums-disable-inprogress-checksums-after-xlog
-			 datachecksums-disable-inprogress-checksums-after-xlogctl
-			 datachecksums-disable-inprogress-checksums-after-controlfile
-			 datachecksums-disable-inprogress-checksums-before-checkpoint
-			 checkpoint-before-redo-wal
-			 checkpoint-after-redo-wal
-			 checkpoint-before-old-wal-removal
-			 datachecksums-disable-inprogress-checksums-before-barrier-wait);
-test_checksum_sequence('enabled', 'disable', 'datachecksums-disable-inprogress-checksums-start', 'datachecksums-disable-checksums-start', 'off', @steps);
+#note('TEST INPROGRESS-OFF/3');
+#@steps = qw(create-checkpoint-initial
+#			 checkpoint-before-redo
+#			 checkpoint-before-xlogctl-checksums
+#			 checkpoint-after-xlogctl-checksums
+#			 checkpoint-before-redo-checksums
+#			 datachecksums-disable-inprogress-checksums-before-xlog
+#			 datachecksums-disable-inprogress-checksums-after-xlog
+#			 checkpoint-before-redo-wal
+#			 checkpoint-after-redo-wal
+#			 checkpoint-before-old-wal-removal
+#			 datachecksums-disable-inprogress-checksums-after-xlogctl
+#			 datachecksums-disable-inprogress-checksums-after-controlfile
+#			 datachecksums-disable-inprogress-checksums-before-checkpoint
+#			 datachecksums-disable-inprogress-checksums-before-barrier-wait);
+#test_checksum_sequence('enabled', 'disable', 'datachecksums-disable-inprogress-checksums-start', 'datachecksums-disable-checksums-start', 'off', @steps);
+
+#note('TEST INPROGRESS-OFF/4');
+#@steps = qw(create-checkpoint-initial
+#			 checkpoint-before-redo
+#			 checkpoint-before-xlogctl-checksums
+#			 checkpoint-after-xlogctl-checksums
+#			 checkpoint-before-redo-checksums
+#			 datachecksums-disable-inprogress-checksums-before-xlog
+#			 datachecksums-disable-inprogress-checksums-after-xlog
+#			 datachecksums-disable-inprogress-checksums-after-xlogctl
+#			 datachecksums-disable-inprogress-checksums-after-controlfile
+#			 datachecksums-disable-inprogress-checksums-before-checkpoint
+#			 checkpoint-before-redo-wal
+#			 checkpoint-after-redo-wal
+#			 checkpoint-before-old-wal-removal
+#			 datachecksums-disable-inprogress-checksums-before-barrier-wait);
+#test_checksum_sequence('enabled', 'disable', 'datachecksums-disable-inprogress-checksums-start', 'datachecksums-disable-checksums-start', 'off', @steps);
 
 ## checksums OFF
 
@@ -532,22 +532,22 @@ note('TEST OFF/2');
 			 datachecksums-disable-checksums-before-barrier-wait);
 test_checksum_sequence('enabled', 'disable', 'datachecksums-disable-checksums-start', 'datachecksums-disable-checksums-end', 'off', @steps);
 
-note('TEST OFF/3');
-@steps = qw(create-checkpoint-initial
-			 checkpoint-before-redo
-			 checkpoint-before-xlogctl-checksums
-			 checkpoint-after-xlogctl-checksums
-			 checkpoint-before-redo-checksums
-			 datachecksums-disable-checksums-before-xlog
-			 datachecksums-disable-checksums-after-xlog
-			 checkpoint-before-redo-wal
-			 checkpoint-after-redo-wal
-			 datachecksums-disable-checksums-after-xlogctl
-			 datachecksums-disable-checksums-after-controlfile
-			 datachecksums-disable-checksums-before-checkpoint
-			 checkpoint-before-old-wal-removal
-			 datachecksums-disable-checksums-before-barrier-wait);
-test_checksum_sequence('enabled', 'disable', 'datachecksums-disable-checksums-start', 'datachecksums-disable-checksums-end', 'off', @steps);
+#note('TEST OFF/3');
+#@steps = qw(create-checkpoint-initial
+#			 checkpoint-before-redo
+#			 checkpoint-before-xlogctl-checksums
+#			 checkpoint-after-xlogctl-checksums
+#			 checkpoint-before-redo-checksums
+#			 datachecksums-disable-checksums-before-xlog
+#			 datachecksums-disable-checksums-after-xlog
+#			 checkpoint-before-redo-wal
+#			 checkpoint-after-redo-wal
+#			 datachecksums-disable-checksums-after-xlogctl
+#			 datachecksums-disable-checksums-after-controlfile
+#			 datachecksums-disable-checksums-before-checkpoint
+#			 checkpoint-before-old-wal-removal
+#			 datachecksums-disable-checksums-before-barrier-wait);
+#test_checksum_sequence('enabled', 'disable', 'datachecksums-disable-checksums-start', 'datachecksums-disable-checksums-end', 'off', @steps);
 
 note('TEST OFF/4');
 @steps = qw(create-checkpoint-initial
@@ -566,22 +566,22 @@ note('TEST OFF/4');
 			 datachecksums-disable-checksums-before-barrier-wait);
 test_checksum_sequence('enabled', 'disable', 'datachecksums-disable-checksums-start', 'datachecksums-disable-checksums-end', 'off', @steps);
 
-note('TEST OFF/5');
-@steps = qw(create-checkpoint-initial
-			 checkpoint-before-redo
-			 checkpoint-before-xlogctl-checksums
-			 checkpoint-after-xlogctl-checksums
-			 checkpoint-before-redo-checksums
-			 datachecksums-disable-checksums-before-xlog
-			 datachecksums-disable-checksums-after-xlog
-			 checkpoint-before-redo-wal
-			 checkpoint-after-redo-wal
-			 datachecksums-disable-checksums-after-xlogctl
-			 datachecksums-disable-checksums-after-controlfile
-			 datachecksums-disable-checksums-before-checkpoint
-			 checkpoint-before-old-wal-removal
-			 datachecksums-disable-checksums-before-barrier-wait);
-test_checksum_sequence('enabled', 'disable', 'datachecksums-disable-checksums-start', 'datachecksums-disable-checksums-end', 'off', @steps);
+#note('TEST OFF/5');
+#@steps = qw(create-checkpoint-initial
+#			 checkpoint-before-redo
+#			 checkpoint-before-xlogctl-checksums
+#			 checkpoint-after-xlogctl-checksums
+#			 checkpoint-before-redo-checksums
+#			 datachecksums-disable-checksums-before-xlog
+#			 datachecksums-disable-checksums-after-xlog
+#			 checkpoint-before-redo-wal
+#			 checkpoint-after-redo-wal
+#			 datachecksums-disable-checksums-after-xlogctl
+#			 datachecksums-disable-checksums-after-controlfile
+#			 datachecksums-disable-checksums-before-checkpoint
+#			 checkpoint-before-old-wal-removal
+#			 datachecksums-disable-checksums-before-barrier-wait);
+#test_checksum_sequence('enabled', 'disable', 'datachecksums-disable-checksums-start', 'datachecksums-disable-checksums-end', 'off', @steps);
 
 note('TEST OFF/6');
 @steps = qw(create-checkpoint-initial
