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)
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