Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
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)