Fix bogus tar-file padding logic for standby.signal.
authorRobert Haas <rhaas@postgresql.org>
Mon, 27 Apr 2020 17:04:35 +0000 (13:04 -0400)
committerRobert Haas <rhaas@postgresql.org>
Mon, 27 Apr 2020 17:04:35 +0000 (13:04 -0400)
commit0278d3f79a30cd9ccd6646b8447b25c60ae7d01d
treec8795cb981b40908f205c64a9356a53d0730aeb4
parente81e5741a6c5d2000b70ea4d5aeceb7669fbccbf
Fix bogus tar-file padding logic for standby.signal.

When pg_basebackup -R is used, we inject standby.signal into the
tar file for the main tablespace. The proper thing to do is to pad
each file injected into the tar file out to a 512-byte boundary
by appending nulls, but here the file is of length 0 and we add
511 zero bytes.  Since 0 is already a multiple of 512, we should
not add any zero bytes. Do that instead.

Patch by me, reviewed by Tom Lane.

Discussion: http://postgr.es/m/CA+TgmobWbfReO9-XFk8urR1K4wTNwqoHx_v56t7=T8KaiEoKNw@mail.gmail.com
src/bin/pg_basebackup/pg_basebackup.c