Since this is a continuation of some related testing just thought I'd note here for anyone interested some unexpected behavior from check's reporting when used without --repair following previously zeroed out chunks.
I found that after --repair had zeroed an intentionally corrupted chunk, then I ran a create backup successfully, that if I next ran check but without --repair it would report as having healed the missing chunks, when it actually hadn't.
Steps:
Removed the repo hints, index and integrity files as part of this test (was checking how Borg would respond to both missing repo metadata and a corrupted chunk file simultaneously).
Intentionally corrupted the largest data file in the repo. Since I have a PNG image in the source data larger than other files in the source data these larger data files have always contained the image data for these tests.
Ran check with --verify-data and --repair. This zeroed out the corrupted chunks.
Ran a successful backup with create.
Ran check with --verify-data but without--repair. And this is where it reported the PNG image as being healed in all backups (removed time values from the log):
However after using mount to check if it had actually healed I found only the latest backup contained the openable PNG image. While the prior backups all errored when opening it.
So I ran check with --repair and it reported the heals like the prior output but this time it actually worked for all the backups it reported (confirmed by re-mounting the backups).
borg 1.4.0
Since this is a continuation of some related testing just thought I'd note here for anyone interested some unexpected behavior from
check
's reporting when used without--repair
following previously zeroed out chunks.I found that after
--repair
had zeroed an intentionally corrupted chunk, then I ran acreate
backup successfully, that if I next rancheck
but without--repair
it would report as having healed the missing chunks, when it actually hadn't.Steps:
hints
,index
andintegrity
files as part of this test (was checking how Borg would respond to both missing repo metadata and a corrupted chunk file simultaneously).data
file in the repo. Since I have a PNG image in the source data larger than other files in the source data these largerdata
files have always contained the image data for these tests.check
with--verify-data
and--repair
. This zeroed out the corrupted chunks.create
.check
with--verify-data
but without--repair
. And this is where it reported the PNG image as being healed in all backups (removedtime
values from the log):mount
to check if it had actually healed I found only the latest backup contained the openable PNG image. While the prior backups all errored when opening it.check
with--repair
and it reported the heals like the prior output but this time it actually worked for all the backups it reported (confirmed by re-mounting the backups).Originally posted by @chocmake in https://github.com/borgbackup/borg/discussions/8527#discussioncomment-11195598