You've already forked pg_probackup
mirror of
https://github.com/postgrespro/pg_probackup.git
synced 2026-05-21 11:58:04 +02:00
Do not use pointer for prev_backup_start_lsn
This commit is contained in:
@@ -47,7 +47,7 @@ typedef struct
|
||||
const char *to_root;
|
||||
parray *backup_files_list;
|
||||
parray *prev_backup_filelist;
|
||||
const XLogRecPtr *prev_backup_start_lsn;
|
||||
XLogRecPtr prev_backup_start_lsn;
|
||||
} backup_files_args;
|
||||
|
||||
/*
|
||||
@@ -101,7 +101,7 @@ do_backup_database(parray *backup_list)
|
||||
char database_path[MAXPGPATH];
|
||||
char dst_backup_path[MAXPGPATH];
|
||||
char label[1024];
|
||||
XLogRecPtr *prev_backup_start_lsn = NULL;
|
||||
XLogRecPtr prev_backup_start_lsn = InvalidXLogRecPtr;
|
||||
|
||||
pthread_t backup_threads[num_threads];
|
||||
pthread_t stream_thread;
|
||||
@@ -189,7 +189,7 @@ do_backup_database(parray *backup_list)
|
||||
prev_backup_filelist = dir_read_file_list(pgdata, prev_backup_filelist_path);
|
||||
|
||||
/* If lsn is not NULL, only pages with higher lsn will be copied. */
|
||||
prev_backup_start_lsn = &prev_backup->start_lsn;
|
||||
prev_backup_start_lsn = prev_backup->start_lsn;
|
||||
|
||||
current.parent_backup = prev_backup->start_time;
|
||||
pgBackupWriteBackupControlFile(¤t);
|
||||
|
||||
@@ -53,7 +53,7 @@ parse_page(const DataPage *page, XLogRecPtr *lsn)
|
||||
* to the backup file.
|
||||
*/
|
||||
static void
|
||||
backup_data_page(pgFile *file, const XLogRecPtr *prev_backup_start_lsn,
|
||||
backup_data_page(pgFile *file, XLogRecPtr prev_backup_start_lsn,
|
||||
BlockNumber blknum, BlockNumber nblocks,
|
||||
FILE *in, FILE *out,
|
||||
pg_crc32 *crc)
|
||||
@@ -137,9 +137,9 @@ backup_data_page(pgFile *file, const XLogRecPtr *prev_backup_start_lsn,
|
||||
}
|
||||
|
||||
/* If the page hasn't changed since previous backup, don't backup it. */
|
||||
if (prev_backup_start_lsn
|
||||
if (!XLogRecPtrIsInvalid(prev_backup_start_lsn)
|
||||
&& !XLogRecPtrIsInvalid(page_lsn)
|
||||
&& page_lsn < *prev_backup_start_lsn)
|
||||
&& page_lsn < prev_backup_start_lsn)
|
||||
return;
|
||||
|
||||
/* Verify checksum */
|
||||
@@ -194,7 +194,7 @@ backup_data_page(pgFile *file, const XLogRecPtr *prev_backup_start_lsn,
|
||||
*/
|
||||
bool
|
||||
backup_data_file(const char *from_root, const char *to_root,
|
||||
pgFile *file, const XLogRecPtr *prev_backup_start_lsn)
|
||||
pgFile *file, XLogRecPtr prev_backup_start_lsn)
|
||||
{
|
||||
char to_path[MAXPGPATH];
|
||||
FILE *in;
|
||||
|
||||
+1
-1
@@ -340,7 +340,7 @@ extern int pgFileCompareSize(const void *f1, const void *f2);
|
||||
|
||||
/* in data.c */
|
||||
extern bool backup_data_file(const char *from_root, const char *to_root,
|
||||
pgFile *file, const XLogRecPtr *lsn);
|
||||
pgFile *file, XLogRecPtr prev_backup_start_lsn);
|
||||
extern void restore_data_file(const char *from_root, const char *to_root,
|
||||
pgFile *file, pgBackup *backup);
|
||||
extern bool is_compressed_data_file(pgFile *file);
|
||||
|
||||
Reference in New Issue
Block a user