Skip to content

Commit de748f3

Browse files
committed
Merge branch 'PGPROEE9_6_CFS_385' of https://gitlab.postgrespro.ru/pgpro-dev/postgrespro into PGPROEE9_6_CFS_385
2 parents 86331ae + 1b33593 commit de748f3

File tree

7 files changed

+233
-139
lines changed

7 files changed

+233
-139
lines changed

src/backend/access/transam/xlog.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,6 @@ int CheckPointSegments;
128128
/* Estimated distance between checkpoints, in bytes */
129129
static double CheckPointDistanceEstimate = 0;
130130
static double PrevCheckPointDistance = 0;
131-
static bool SavedGCState = false;
132131

133132
/*
134133
* GUC support
@@ -9894,7 +9893,7 @@ do_pg_start_backup(const char *backupidstr, bool fast, TimeLineID *starttli_p,
98949893
XLogCtl->Insert.forcePageWrites = true;
98959894
WALInsertLockRelease();
98969895

9897-
SavedGCState = cfs_control_gc(false); /* disable GC during backup */
9896+
cfs_control_gc_lock(); /* disable GC during backup */
98989897

98999898
/* Ensure we release forcePageWrites if fail below */
99009899
PG_ENSURE_ERROR_CLEANUP(pg_start_backup_callback, (Datum) BoolGetDatum(exclusive));
@@ -10273,7 +10272,7 @@ pg_start_backup_callback(int code, Datum arg)
1027310272
}
1027410273
WALInsertLockRelease();
1027510274

10276-
cfs_control_gc(SavedGCState); /* Restore CFS GC activity */
10275+
cfs_control_gc_unlock(); /* Restore CFS GC activity */
1027710276
}
1027810277

1027910278
/*
@@ -10473,7 +10472,7 @@ do_pg_stop_backup(char *labelfile, bool waitforarchive, TimeLineID *stoptli_p)
1047310472
/* Clean up session-level lock */
1047410473
sessionBackupState = SESSION_BACKUP_NONE;
1047510474

10476-
cfs_control_gc(SavedGCState); /* Restore CFS GC activity */
10475+
cfs_control_gc_unlock(); /* Restore CFS GC activity */
1047710476

1047810477
/*
1047910478
* Read and parse the START WAL LOCATION line (this code is pretty crude,
@@ -10717,6 +10716,8 @@ do_pg_abort_backup(void)
1071710716
XLogCtl->Insert.forcePageWrites = false;
1071810717
}
1071910718
WALInsertLockRelease();
10719+
10720+
cfs_control_gc_unlock(); /* Restore CFS GC activity */
1072010721
}
1072110722

1072210723
/*

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy