pg_checksums: Fix progress reporting.
authorFujii Masao <[email protected]>
Fri, 2 Apr 2021 15:07:00 +0000 (00:07 +0900)
committerFujii Masao <[email protected]>
Fri, 2 Apr 2021 15:07:00 +0000 (00:07 +0900)
commit2eb1fc8b1ae8b974007e85636fc7336a9b5d7222
tree161d2e54319d1411b6b3e8ef98f02ac47583d929
parent53aafdb9ff6a561c7dea0f428a7c168f2b7e0f16
pg_checksums: Fix progress reporting.

pg_checksums uses two counters, total size and current size,
to calculate the progress. Previously the progress that
pg_checksums reported could not reach 100% at the end.
The cause of this issue was that the sizes of only pages excluding
new ones in each file were counted as the current size
while the size of each file is counted as the total size.
That is, the total size of all new pages could be reported
as the difference between the total size and current size.

This commit fixes this issue by making pg_checksums count
the sizes of all pages including new ones in each file as
the current size.

Back-patch to v12 where progress reporting was added to pg_checksums.

Reported-by: Shinya Kato
Author: Shinya Kato
Reviewed-by: Fujii Masao
Discussion: https://postgr.es/m/TYAPR01MB289656B1ACA0A5E7CAD07BE3C47A9@TYAPR01MB2896.jpnprd01.prod.outlook.com
src/bin/pg_checksums/pg_checksums.c