Move pg_pwritev_with_retry() to src/common/file_utils.c
Michael Paquier <michael@paquier.xyz>
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
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/storage/file/fd.c | modified | +0 −65 |
| src/common/file_utils.c | modified | +67 −0 |
| src/include/common/file_utils.h | modified | +7 −0 |
| src/include/storage/fd.h | modified | +0 −6 |
Discussion
- Use pg_pwritev_with_retry() instead of write() in dir_open_for_write() to avoid partial writes? 80 messages · 2022-08-05 → 2023-03-17