]> git.ipfire.org Git - thirdparty/postgresql.git/commit
Fix handling of copy_file_range() return value
authorPeter Eisentraut <peter@eisentraut.org>
Mon, 29 Jun 2026 09:49:11 +0000 (11:49 +0200)
committerPeter Eisentraut <peter@eisentraut.org>
Mon, 29 Jun 2026 11:01:57 +0000 (13:01 +0200)
commitd36b728949bf4e37ada1cd23e0f2aaa94f609a70
tree4a70aef60494fda940863b2578e6ae68103aaa45
parent53482fcb94a82cc22e20a7206c508a39aa07a76d
Fix handling of copy_file_range() return value

Treat copy_file_range() return value of zero as an error: it indicates
that no bytes could be copied (perhaps the source file is shorter than
expected), and the existing retry loop would otherwise spin forever
since nwritten would never reach BLCKSZ.

The other uses of copy_file_range() in the tree don't have this
problem.

Reviewed-by: Nazir Bilal Yavuz <byavuz81@gmail.com>
Reviewed-by: Kyotaro Horiguchi <horikyota.ntt@gmail.com>
Reviewed-by: Yingying Chen <cyy9255@gmail.com>
Discussion: https://www.postgresql.org/message-id/flat/3208cf7a-c7f3-41eb-92f6-33cbeff4df40%40eisentraut.org
src/bin/pg_combinebackup/reconstruct.c