v2-0002-Use-MAXFNAMELEN-for-WAL-file-names-instead-of-MAX.patch
application/octet-stream
Filename: v2-0002-Use-MAXFNAMELEN-for-WAL-file-names-instead-of-MAX.patch
Type: application/octet-stream
Part: 1
Patch
Format: format-patch
Series: patch v2-0002
Subject: Use MAXFNAMELEN for WAL file names instead of MAXPGPATH
| File | + | − |
|---|---|---|
| src/backend/access/transam/xlogarchive.c | 2 | 2 |
| src/bin/pg_basebackup/receivelog.c | 1 | 1 |
| src/bin/pg_waldump/pg_waldump.c | 2 | 2 |
From abe765e81382bc0e56619cc2058d48db5a21459b Mon Sep 17 00:00:00 2001
From: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
Date: Tue, 4 Oct 2022 06:35:01 +0000
Subject: [PATCH v2] Use MAXFNAMELEN for WAL file names instead of MAXPGPATH
MAXFNAMELEN (64 bytes) is typically meant to be used for all WAL
file names across the code base. Because the WAL file names in
postgres can't be bigger than 64 bytes, in fact, not more than
XLOG_FNAME_LEN (24 bytes) but there are suffixes, timeline history
files etc. To accommodate all of that MAXFNAMELEN is introduced.
There are some places in the code base that still use MAXPGPATH
(1024 bytes) for WAL file names which is an unnecessary wastage of
stack memory.
Replace MAXPGPATH with MAXFNAMELEN for WAL file names for
consistency across the code base and a bit of space savings.
---
src/backend/access/transam/xlogarchive.c | 4 ++--
src/bin/pg_basebackup/receivelog.c | 2 +-
src/bin/pg_waldump/pg_waldump.c | 4 ++--
3 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/backend/access/transam/xlogarchive.c b/src/backend/access/transam/xlogarchive.c
index e2b7176f2f..2d499bb665 100644
--- a/src/backend/access/transam/xlogarchive.c
+++ b/src/backend/access/transam/xlogarchive.c
@@ -57,7 +57,7 @@ RestoreArchivedFile(char *path, const char *xlogfname,
{
char xlogpath[MAXPGPATH];
char *xlogRestoreCmd;
- char lastRestartPointFname[MAXPGPATH];
+ char lastRestartPointFname[MAXFNAMELEN];
int rc;
struct stat stat_buf;
XLogSegNo restartSegNo;
@@ -292,7 +292,7 @@ ExecuteRecoveryCommand(const char *command, const char *commandName,
bool failOnSignal, uint32 wait_event_info)
{
char xlogRecoveryCmd[MAXPGPATH];
- char lastRestartPointFname[MAXPGPATH];
+ char lastRestartPointFname[MAXFNAMELEN];
char *dp;
char *endp;
const char *sp;
diff --git a/src/bin/pg_basebackup/receivelog.c b/src/bin/pg_basebackup/receivelog.c
index 9c71323d70..3e1561e4dd 100644
--- a/src/bin/pg_basebackup/receivelog.c
+++ b/src/bin/pg_basebackup/receivelog.c
@@ -93,7 +93,7 @@ open_walfile(StreamCtl *stream, XLogRecPtr startpoint)
char *fn;
ssize_t size;
XLogSegNo segno;
- char walfile_name[MAXPGPATH];
+ char walfile_name[MAXFNAMELEN];
XLByteToSeg(startpoint, segno, WalSegSz);
XLogFileName(walfile_name, stream->timeline, segno, WalSegSz);
diff --git a/src/bin/pg_waldump/pg_waldump.c b/src/bin/pg_waldump/pg_waldump.c
index 9993378ca5..079b3c155d 100644
--- a/src/bin/pg_waldump/pg_waldump.c
+++ b/src/bin/pg_waldump/pg_waldump.c
@@ -296,7 +296,7 @@ WALDumpOpenSegment(XLogReaderState *state, XLogSegNo nextSegNo,
TimeLineID *tli_p)
{
TimeLineID tli = *tli_p;
- char fname[MAXPGPATH];
+ char fname[MAXFNAMELEN];
int tries;
XLogFileName(fname, tli, nextSegNo, state->segcxt.ws_segsize);
@@ -367,7 +367,7 @@ WALDumpReadPage(XLogReaderState *state, XLogRecPtr targetPagePtr, int reqLen,
&errinfo))
{
WALOpenSegment *seg = &errinfo.wre_seg;
- char fname[MAXPGPATH];
+ char fname[MAXFNAMELEN];
XLogFileName(fname, seg->ws_tli, seg->ws_segno,
state->segcxt.ws_segsize);
--
2.34.1