From 82d79598d09398fdceb58b36462b16fbb9fc038e Mon Sep 17 00:00:00 2001 From: Arthur Zakirov Date: Thu, 20 Apr 2017 15:08:07 +0300 Subject: [PATCH] Do not use pointer for prev_backup_start_lsn --- backup.c | 6 +++--- data.c | 8 ++++---- pg_probackup.h | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/backup.c b/backup.c index 56308b74..28496560 100644 --- a/backup.c +++ b/backup.c @@ -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); diff --git a/data.c b/data.c index 8601fb14..c227eaff 100644 --- a/data.c +++ b/data.c @@ -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; diff --git a/pg_probackup.h b/pg_probackup.h index d6bf3313..af4b9f9f 100644 --- a/pg_probackup.h +++ b/pg_probackup.h @@ -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);