From 65afa2d7deeee97e39120a2ba65c75fbabc6ac63 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut 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