mirror of
https://github.com/postgres/postgres.git
synced 2025-10-27 00:12:01 +03:00
Move pg_pwritev_with_retry() to src/common/file_utils.c
This commit moves pg_pwritev_with_retry(), a convenience wrapper of pg_writev() able to handle partial writes, to common/file_utils.c so that the frontend code is able to use it. A first use-case targetted for this routine is pg_basebackup and pg_receivewal, for the zero-padding of a newly-initialized WAL segment. This is used currently in the backend when the GUC wal_init_zero is enabled (default). Author: Bharath Rupireddy Reviewed-by: Nathan Bossart, Thomas Munro Discussion: https://postgr.es/m/CALj2ACUq7nAb7=bJNbK3yYmp-SZhJcXFR_pLk8un6XgDzDF3OA@mail.gmail.com
This commit is contained in:
@@ -51,8 +51,6 @@ typedef enum RecoveryInitSyncMethod
|
||||
RECOVERY_INIT_SYNC_METHOD_SYNCFS
|
||||
} RecoveryInitSyncMethod;
|
||||
|
||||
struct iovec; /* avoid including port/pg_iovec.h here */
|
||||
|
||||
typedef int File;
|
||||
|
||||
|
||||
@@ -178,10 +176,6 @@ extern int pg_fsync_no_writethrough(int fd);
|
||||
extern int pg_fsync_writethrough(int fd);
|
||||
extern int pg_fdatasync(int fd);
|
||||
extern void pg_flush_data(int fd, off_t offset, off_t nbytes);
|
||||
extern ssize_t pg_pwritev_with_retry(int fd,
|
||||
const struct iovec *iov,
|
||||
int iovcnt,
|
||||
off_t offset);
|
||||
extern int pg_truncate(const char *path, off_t length);
|
||||
extern void fsync_fname(const char *fname, bool isdir);
|
||||
extern int fsync_fname_ext(const char *fname, bool isdir, bool ignore_perm, int elevel);
|
||||
|
||||
Reference in New Issue
Block a user