diff options
author | Thomas Munro <tmunro@postgresql.org> | 2023-12-12 10:28:46 +1300 |
---|---|---|
committer | Thomas Munro <tmunro@postgresql.org> | 2023-12-12 10:57:18 +1300 |
commit | 0c6be59f5e34f44b20d9ec3ffb58c1d9a0bf985e (patch) | |
tree | c4a8d36502194629edc76f8e4b4561df7ce3673b /src/include/common/file_utils.h | |
parent | baf7c93ed583949d837bc13f24a15a0efbcb1ae7 (diff) | |
download | postgresql-0c6be59f5e34f44b20d9ec3ffb58c1d9a0bf985e.tar.gz postgresql-0c6be59f5e34f44b20d9ec3ffb58c1d9a0bf985e.zip |
Provide helper for retrying partial vectored I/O.
compute_remaining_iovec() is a re-usable routine for retrying after
pg_readv() or pg_writev() reports a short transfer. This will gain new
users in a later commit, but can already replace the open-coded
equivalent code in the existing pg_pwritev_with_retry() function.
Reviewed-by: Heikki Linnakangas <hlinnaka@iki.fi>
Discussion: https://postgr.es/m/CA+hUKGJkOiOCa+mag4BF+zHo7qo=o9CFheB8=g6uT5TUm2gkvA@mail.gmail.com
Diffstat (limited to 'src/include/common/file_utils.h')
-rw-r--r-- | src/include/common/file_utils.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/include/common/file_utils.h b/src/include/common/file_utils.h index 3bb20170cbd..02a940e3102 100644 --- a/src/include/common/file_utils.h +++ b/src/include/common/file_utils.h @@ -46,6 +46,11 @@ extern PGFileType get_dirent_type(const char *path, bool look_through_symlinks, int elevel); +extern int compute_remaining_iovec(struct iovec *destination, + const struct iovec *source, + int iovcnt, + size_t transferred); + extern ssize_t pg_pwritev_with_retry(int fd, const struct iovec *iov, int iovcnt, |