From 2ce40339d5db1d7a5b50cd7a8e51f3ecb787998f Mon Sep 17 00:00:00 2001 From: zhangchenxi Date: Thu, 17 Oct 2024 14:28:58 +0800 Subject: [PATCH] Fix validate issue if segment size greater than 4GB. --- src/data.c | 4 ++-- src/pg_probackup.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/data.c b/src/data.c index 1a9616ba..789fdf69 100644 --- a/src/data.c +++ b/src/data.c @@ -1132,7 +1132,7 @@ restore_data_file_internal(FILE *in, FILE *out, pgFile *file, uint32 backup_vers cur_pos_in != headers[n_hdr].pos) { if (fseek(in, headers[n_hdr].pos, SEEK_SET) != 0) - elog(ERROR, "Cannot seek to offset %u of \"%s\": %s", + elog(ERROR, "Cannot seek to offset %lu of \"%s\": %s", headers[n_hdr].pos, from_fullpath, strerror(errno)); cur_pos_in = headers[n_hdr].pos; @@ -1695,7 +1695,7 @@ validate_file_pages(pgFile *file, const char *fullpath, XLogRecPtr stop_lsn, elog(ERROR, "Cannot seek block %u of \"%s\": %s", blknum, fullpath, strerror(errno)); else - elog(VERBOSE, "Seek to %u", headers[n_hdr].pos); + elog(VERBOSE, "Seek to %lu", headers[n_hdr].pos); cur_pos_in = headers[n_hdr].pos; } diff --git a/src/pg_probackup.h b/src/pg_probackup.h index ae99e060..dfa55c4a 100644 --- a/src/pg_probackup.h +++ b/src/pg_probackup.h @@ -704,8 +704,8 @@ typedef struct BackupPageHeader typedef struct BackupPageHeader2 { XLogRecPtr lsn; - int32 block; /* block number */ - int32 pos; /* position in backup file */ + BlockNumber block; /* block number */ + off_t pos; /* position in backup file */ uint16 checksum; } BackupPageHeader2;