v1-0011-Clean-up-FileRead-return-type.patch
text/plain
Filename: v1-0011-Clean-up-FileRead-return-type.patch
Type: text/plain
Part: 10
Patch
Format: format-patch
Series: patch v1-0011
Subject: Clean up FileRead() return type
| File | + | − |
|---|---|---|
| src/backend/replication/logical/reorderbuffer.c | 5 | 5 |
| src/backend/storage/file/buffile.c | 9 | 6 |
| src/backend/storage/smgr/md.c | 1 | 1 |
| src/backend/utils/probes.d | 1 | 1 |
From 65afa2d7deeee97e39120a2ba65c75fbabc6ac63 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter@eisentraut.org>
Date: Mon, 29 Jun 2026 13:37:54 +0200
Subject: [PATCH v1 11/15] Clean up FileRead() return type
analogous to the previous changes for read()
---
src/backend/replication/logical/reorderbuffer.c | 10 +++++-----
src/backend/storage/file/buffile.c | 15 +++++++++------
src/backend/storage/smgr/md.c | 2 +-
src/backend/utils/probes.d | 2 +-
4 files changed, 16 insertions(+), 13 deletions(-)
diff --git a/src/backend/replication/logical/reorderbuffer.c b/src/backend/replication/logical/reorderbuffer.c
index bd005a2aaf9..40cee674566 100644
--- a/src/backend/replication/logical/reorderbuffer.c
+++ b/src/backend/replication/logical/reorderbuffer.c
@@ -4564,7 +4564,7 @@ ReorderBufferRestoreChanges(ReorderBuffer *rb, ReorderBufferTXN *txn,
while (restored < max_changes_in_memory && *segno <= last_segno)
{
- int readBytes;
+ ssize_t readBytes;
ReorderBufferDiskChange *ondisk;
CHECK_FOR_INTERRUPTS();
@@ -4629,9 +4629,9 @@ ReorderBufferRestoreChanges(ReorderBuffer *rb, ReorderBufferTXN *txn,
else if (readBytes != sizeof(ReorderBufferDiskChange))
ereport(ERROR,
(errcode_for_file_access(),
- errmsg("could not read from reorderbuffer spill file: read %d instead of %u bytes",
+ errmsg("could not read from reorderbuffer spill file: read %zd of %zu",
readBytes,
- (uint32) sizeof(ReorderBufferDiskChange))));
+ sizeof(ReorderBufferDiskChange))));
file->curOffset += readBytes;
@@ -4654,9 +4654,9 @@ ReorderBufferRestoreChanges(ReorderBuffer *rb, ReorderBufferTXN *txn,
else if (readBytes != ondisk->size - sizeof(ReorderBufferDiskChange))
ereport(ERROR,
(errcode_for_file_access(),
- errmsg("could not read from reorderbuffer spill file: read %d instead of %u bytes",
+ errmsg("could not read from reorderbuffer spill file: read %zd of %zu",
readBytes,
- (uint32) (ondisk->size - sizeof(ReorderBufferDiskChange)))));
+ (ondisk->size - sizeof(ReorderBufferDiskChange)))));
file->curOffset += readBytes;
diff --git a/src/backend/storage/file/buffile.c b/src/backend/storage/file/buffile.c
index c4afe4d368a..b44d24cdbd3 100644
--- a/src/backend/storage/file/buffile.c
+++ b/src/backend/storage/file/buffile.c
@@ -437,6 +437,7 @@ BufFileLoadBuffer(BufFile *file)
File thisfile;
instr_time io_start;
instr_time io_time;
+ ssize_t rc;
/*
* Advance to next component file if necessary and possible.
@@ -458,12 +459,12 @@ BufFileLoadBuffer(BufFile *file)
/*
* Read whatever we can get, up to a full bufferload.
*/
- file->nbytes = FileRead(thisfile,
- file->buffer.data,
- sizeof(file->buffer.data),
- file->curOffset,
- WAIT_EVENT_BUFFILE_READ);
- if (file->nbytes < 0)
+ rc = FileRead(thisfile,
+ file->buffer.data,
+ sizeof(file->buffer.data),
+ file->curOffset,
+ WAIT_EVENT_BUFFILE_READ);
+ if (rc < 0)
{
file->nbytes = 0;
ereport(ERROR,
@@ -472,6 +473,8 @@ BufFileLoadBuffer(BufFile *file)
FilePathName(thisfile))));
}
+ file->nbytes = rc;
+
if (track_io_timing)
{
INSTR_TIME_SET_CURRENT(io_time);
diff --git a/src/backend/storage/smgr/md.c b/src/backend/storage/smgr/md.c
index dee29037b16..5b1f6e1f4b6 100644
--- a/src/backend/storage/smgr/md.c
+++ b/src/backend/storage/smgr/md.c
@@ -864,7 +864,7 @@ mdreadv(SMgrRelation reln, ForkNumber forknum, BlockNumber blocknum,
struct iovec iov[PG_IOV_MAX];
int iovcnt;
pgoff_t seekpos;
- int nbytes;
+ ssize_t nbytes;
MdfdVec *v;
BlockNumber nblocks_this_segment;
size_t transferred_this_segment;
diff --git a/src/backend/utils/probes.d b/src/backend/utils/probes.d
index 1929521c6a5..48b269468a5 100644
--- a/src/backend/utils/probes.d
+++ b/src/backend/utils/probes.d
@@ -83,7 +83,7 @@ provider postgresql {
probe twophase__checkpoint__done();
probe smgr__md__read__start(ForkNumber, BlockNumber, Oid, Oid, Oid, int);
- probe smgr__md__read__done(ForkNumber, BlockNumber, Oid, Oid, Oid, int, int, int);
+ probe smgr__md__read__done(ForkNumber, BlockNumber, Oid, Oid, Oid, int, long long int, long long int);
probe smgr__md__write__start(ForkNumber, BlockNumber, Oid, Oid, Oid, int);
probe smgr__md__write__done(ForkNumber, BlockNumber, Oid, Oid, Oid, int, int, int);
--
2.54.0