Move pg_pwritev_with_retry() to src/common/file_utils.c

Michael Paquier <michael@paquier.xyz>

Commit: 4ab8c81bd90ae442dbd092df04a12dbb7e68f562
Author: Michael Paquier <michael@paquier.xyz>
Date: 2022-10-27T05:39:42Z
Releases: 16.0
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

PathChange+/−
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