Hallo Mickael,

So I have now changed behaviour so that short writes count as skipped
files and pg_verify_checksums no longer bails out on them. When this
occors a warning is written to stderr and their overall count is also
reported at the end. However, unless there are other blocks with bad
checksums, the exit status is kept at zero.

This seems fair when online, however I'm wondering whether it is when offline. I'd say that the whole retry logic should be skipped in this case? i.e. "if (block_retry || !online) { error message and continue }"
on both short read & checksum failure retries.

New patch attached.

Patch applies cleanly, compiles, global & local make check ok.

I'm wondering whether it should exit(1) on "lseek" failures. Would it make sense to skip the file and report it as such? Should it be counted as a skippedfile?

WRT the final status, ISTM that slippedblocks & files could warrant an error when offline, although they might be ok when online?

--
Fabien.

Reply via email to