Skip to content

Commit 82d7959

Browse files
committed
Do not use pointer for prev_backup_start_lsn
1 parent 28626dc commit 82d7959

File tree

3 files changed

+8
-8
lines changed

3 files changed

+8
-8
lines changed

backup.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ typedef struct
4747
const char *to_root;
4848
parray *backup_files_list;
4949
parray *prev_backup_filelist;
50-
const XLogRecPtr *prev_backup_start_lsn;
50+
XLogRecPtr prev_backup_start_lsn;
5151
} backup_files_args;
5252

5353
/*
@@ -101,7 +101,7 @@ do_backup_database(parray *backup_list)
101101
char database_path[MAXPGPATH];
102102
char dst_backup_path[MAXPGPATH];
103103
char label[1024];
104-
XLogRecPtr *prev_backup_start_lsn = NULL;
104+
XLogRecPtr prev_backup_start_lsn = InvalidXLogRecPtr;
105105

106106
pthread_t backup_threads[num_threads];
107107
pthread_t stream_thread;
@@ -189,7 +189,7 @@ do_backup_database(parray *backup_list)
189189
prev_backup_filelist = dir_read_file_list(pgdata, prev_backup_filelist_path);
190190

191191
/* If lsn is not NULL, only pages with higher lsn will be copied. */
192-
prev_backup_start_lsn = &prev_backup->start_lsn;
192+
prev_backup_start_lsn = prev_backup->start_lsn;
193193

194194
current.parent_backup = prev_backup->start_time;
195195
pgBackupWriteBackupControlFile(&current);

data.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ parse_page(const DataPage *page, XLogRecPtr *lsn)
5353
* to the backup file.
5454
*/
5555
static void
56-
backup_data_page(pgFile *file, const XLogRecPtr *prev_backup_start_lsn,
56+
backup_data_page(pgFile *file, XLogRecPtr prev_backup_start_lsn,
5757
BlockNumber blknum, BlockNumber nblocks,
5858
FILE *in, FILE *out,
5959
pg_crc32 *crc)
@@ -137,9 +137,9 @@ backup_data_page(pgFile *file, const XLogRecPtr *prev_backup_start_lsn,
137137
}
138138

139139
/* If the page hasn't changed since previous backup, don't backup it. */
140-
if (prev_backup_start_lsn
140+
if (!XLogRecPtrIsInvalid(prev_backup_start_lsn)
141141
&& !XLogRecPtrIsInvalid(page_lsn)
142-
&& page_lsn < *prev_backup_start_lsn)
142+
&& page_lsn < prev_backup_start_lsn)
143143
return;
144144

145145
/* Verify checksum */
@@ -194,7 +194,7 @@ backup_data_page(pgFile *file, const XLogRecPtr *prev_backup_start_lsn,
194194
*/
195195
bool
196196
backup_data_file(const char *from_root, const char *to_root,
197-
pgFile *file, const XLogRecPtr *prev_backup_start_lsn)
197+
pgFile *file, XLogRecPtr prev_backup_start_lsn)
198198
{
199199
char to_path[MAXPGPATH];
200200
FILE *in;

pg_probackup.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -340,7 +340,7 @@ extern int pgFileCompareSize(const void *f1, const void *f2);
340340

341341
/* in data.c */
342342
extern bool backup_data_file(const char *from_root, const char *to_root,
343-
pgFile *file, const XLogRecPtr *lsn);
343+
pgFile *file, XLogRecPtr prev_backup_start_lsn);
344344
extern void restore_data_file(const char *from_root, const char *to_root,
345345
pgFile *file, pgBackup *backup);
346346
extern bool is_compressed_data_file(pgFile *file);

0 commit comments

Comments
 (0)