1
0
mirror of https://github.com/postgres/postgres.git synced 2026-10-23 13:29:09 +03:00

Use PG_DATA_CHECKSUM_OFF instead of hardcoded value

For a long time, the online checksums patchset kept the "off" state as
literal zero without a label to be consistent with the previous coding
which only had a label for the "on" state.  Later, when an "off" label
was made not all uses in the code got the memo.  Fix by setting these
to PG_DATA_CHECKSUM_OFF.

While there, fix a duplicate word in a comment introduced by the same
commit.

Author: Aleksander Alekseev <aleksander@tigerdata.com>
Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
Discussion: https://postgr.es/m/CAJ7c6TPRTnQFXXX1CRcYoTLXw2swtDH==uSz1MYoMKdLrKZHjA@mail.gmail.com
This commit is contained in:
Daniel Gustafsson
2026-04-06 22:11:53 +02:00
parent 28d534e2ae
commit b3a37ffbc5
6 changed files with 16 additions and 16 deletions

View File

@@ -4836,7 +4836,7 @@ SetDataChecksumsOn(void)
/* /*
* Await state transition to "on" in all backends. When done we know that * Await state transition to "on" in all backends. When done we know that
* data data checksums are both written and verified in all backends. * data checksums are both written and verified in all backends.
*/ */
WaitForProcSignalBarrier(barrier); WaitForProcSignalBarrier(barrier);
} }
@@ -4864,7 +4864,7 @@ SetDataChecksumsOff(void)
SpinLockAcquire(&XLogCtl->info_lck); SpinLockAcquire(&XLogCtl->info_lck);
/* If data checksums are already disabled there is nothing to do */ /* If data checksums are already disabled there is nothing to do */
if (XLogCtl->data_checksum_version == 0) if (XLogCtl->data_checksum_version == PG_DATA_CHECKSUM_OFF)
{ {
SpinLockRelease(&XLogCtl->info_lck); SpinLockRelease(&XLogCtl->info_lck);
return; return;
@@ -4931,7 +4931,7 @@ SetDataChecksumsOff(void)
XLogChecksums(PG_DATA_CHECKSUM_OFF); XLogChecksums(PG_DATA_CHECKSUM_OFF);
SpinLockAcquire(&XLogCtl->info_lck); SpinLockAcquire(&XLogCtl->info_lck);
XLogCtl->data_checksum_version = 0; XLogCtl->data_checksum_version = PG_DATA_CHECKSUM_OFF;
SpinLockRelease(&XLogCtl->info_lck); SpinLockRelease(&XLogCtl->info_lck);
barrier = EmitProcSignalBarrier(PROCSIGNAL_BARRIER_CHECKSUM_OFF); barrier = EmitProcSignalBarrier(PROCSIGNAL_BARRIER_CHECKSUM_OFF);
@@ -6605,7 +6605,7 @@ StartupXLOG(void)
XLogChecksums(PG_DATA_CHECKSUM_OFF); XLogChecksums(PG_DATA_CHECKSUM_OFF);
SpinLockAcquire(&XLogCtl->info_lck); SpinLockAcquire(&XLogCtl->info_lck);
XLogCtl->data_checksum_version = 0; XLogCtl->data_checksum_version = PG_DATA_CHECKSUM_OFF;
SetLocalDataChecksumState(XLogCtl->data_checksum_version); SetLocalDataChecksumState(XLogCtl->data_checksum_version);
SpinLockRelease(&XLogCtl->info_lck); SpinLockRelease(&XLogCtl->info_lck);
@@ -6625,7 +6625,7 @@ StartupXLOG(void)
XLogChecksums(PG_DATA_CHECKSUM_OFF); XLogChecksums(PG_DATA_CHECKSUM_OFF);
SpinLockAcquire(&XLogCtl->info_lck); SpinLockAcquire(&XLogCtl->info_lck);
XLogCtl->data_checksum_version = 0; XLogCtl->data_checksum_version = PG_DATA_CHECKSUM_OFF;
SetLocalDataChecksumState(XLogCtl->data_checksum_version); SetLocalDataChecksumState(XLogCtl->data_checksum_version);
SpinLockRelease(&XLogCtl->info_lck); SpinLockRelease(&XLogCtl->info_lck);
} }

View File

@@ -241,7 +241,7 @@ BootstrapModeMain(int argc, char *argv[], bool check_only)
pg_getopt_ctx optctx; pg_getopt_ctx optctx;
int flag; int flag;
char *userDoption = NULL; char *userDoption = NULL;
uint32 bootstrap_data_checksum_version = 0; /* No checksum */ uint32 bootstrap_data_checksum_version = PG_DATA_CHECKSUM_OFF;
yyscan_t scanner; yyscan_t scanner;
Assert(!IsUnderPostmaster); Assert(!IsUnderPostmaster);

View File

@@ -589,7 +589,7 @@ main(int argc, char *argv[])
mode == PG_MODE_CHECK) mode == PG_MODE_CHECK)
pg_fatal("data checksums are not enabled in cluster"); pg_fatal("data checksums are not enabled in cluster");
if (ControlFile->data_checksum_version == 0 && if (ControlFile->data_checksum_version == PG_DATA_CHECKSUM_OFF &&
mode == PG_MODE_DISABLE) mode == PG_MODE_DISABLE)
pg_fatal("data checksums are already disabled in cluster"); pg_fatal("data checksums are already disabled in cluster");
@@ -645,7 +645,7 @@ main(int argc, char *argv[])
if (mode == PG_MODE_ENABLE || mode == PG_MODE_DISABLE) if (mode == PG_MODE_ENABLE || mode == PG_MODE_DISABLE)
{ {
ControlFile->data_checksum_version = ControlFile->data_checksum_version =
(mode == PG_MODE_ENABLE) ? PG_DATA_CHECKSUM_VERSION : 0; (mode == PG_MODE_ENABLE) ? PG_DATA_CHECKSUM_VERSION : PG_DATA_CHECKSUM_OFF;
if (do_sync) if (do_sync)
{ {

View File

@@ -615,7 +615,7 @@ check_control_files(int n_backups, char **backup_dirs)
{ {
int i; int i;
uint64 system_identifier = 0; /* placate compiler */ uint64 system_identifier = 0; /* placate compiler */
uint32 data_checksum_version = 0; /* placate compiler */ uint32 data_checksum_version = PG_DATA_CHECKSUM_OFF; /* placate compiler */
bool data_checksum_mismatch = false; bool data_checksum_mismatch = false;
/* Try to read each control file in turn, last to first. */ /* Try to read each control file in turn, last to first. */
@@ -652,7 +652,7 @@ check_control_files(int n_backups, char **backup_dirs)
*/ */
if (i == n_backups - 1) if (i == n_backups - 1)
data_checksum_version = control_file->data_checksum_version; data_checksum_version = control_file->data_checksum_version;
else if (data_checksum_version != 0 && else if (data_checksum_version != PG_DATA_CHECKSUM_OFF &&
data_checksum_version != control_file->data_checksum_version) data_checksum_version != control_file->data_checksum_version)
data_checksum_mismatch = true; data_checksum_mismatch = true;

View File

@@ -206,7 +206,7 @@ get_control_data(ClusterInfo *cluster)
/* Only in <= 9.2 */ /* Only in <= 9.2 */
if (GET_MAJOR_VERSION(cluster->major_version) <= 902) if (GET_MAJOR_VERSION(cluster->major_version) <= 902)
{ {
cluster->controldata.data_checksum_version = 0; cluster->controldata.data_checksum_version = PG_DATA_CHECKSUM_OFF;
got_data_checksum_version = true; got_data_checksum_version = true;
} }
@@ -749,11 +749,11 @@ check_control_data(ControlData *oldctrl,
* We might eventually allow upgrades from checksum to no-checksum * We might eventually allow upgrades from checksum to no-checksum
* clusters. * clusters.
*/ */
if (oldctrl->data_checksum_version == 0 && if (oldctrl->data_checksum_version == PG_DATA_CHECKSUM_OFF &&
newctrl->data_checksum_version != 0) newctrl->data_checksum_version != PG_DATA_CHECKSUM_OFF)
pg_fatal("old cluster does not use data checksums but the new one does"); pg_fatal("old cluster does not use data checksums but the new one does");
else if (oldctrl->data_checksum_version != 0 && else if (oldctrl->data_checksum_version != PG_DATA_CHECKSUM_OFF &&
newctrl->data_checksum_version == 0) newctrl->data_checksum_version == PG_DATA_CHECKSUM_OFF)
pg_fatal("old cluster uses data checksums but the new one does not"); pg_fatal("old cluster uses data checksums but the new one does not");
else if (oldctrl->data_checksum_version != newctrl->data_checksum_version) else if (oldctrl->data_checksum_version != newctrl->data_checksum_version)
pg_fatal("old and new cluster pg_controldata checksum versions do not match"); pg_fatal("old and new cluster pg_controldata checksum versions do not match");

View File

@@ -331,7 +331,7 @@ rewriteVisibilityMap(const char *fromfile, const char *tofile,
break; break;
/* Set new checksum for visibility map page, if enabled */ /* Set new checksum for visibility map page, if enabled */
if (new_cluster.controldata.data_checksum_version != 0) if (new_cluster.controldata.data_checksum_version != PG_DATA_CHECKSUM_OFF)
((PageHeader) new_vmbuf.data)->pd_checksum = ((PageHeader) new_vmbuf.data)->pd_checksum =
pg_checksum_page(new_vmbuf.data, new_blkno); pg_checksum_page(new_vmbuf.data, new_blkno);