mirror of
https://github.com/octoleo/restic.git
synced 2024-12-23 03:18:55 +00:00
Merge pull request #3244 from MichaelEischer/better-damage-reports
Print more details about possible repository damages
This commit is contained in:
commit
a16ce65295
@ -394,7 +394,6 @@ func (f *Finder) findIDs(ctx context.Context, sn *restic.Snapshot) error {
|
|||||||
delete(f.blobIDs, idStr[:shortStr])
|
delete(f.blobIDs, idStr[:shortStr])
|
||||||
}
|
}
|
||||||
f.out.PrintObject("blob", idStr, nodepath, parentTreeID.String(), sn)
|
f.out.PrintObject("blob", idStr, nodepath, parentTreeID.String(), sn)
|
||||||
break
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -245,8 +245,9 @@ func prune(opts PruneOptions, gopts GlobalOptions, repo restic.Repository, usedB
|
|||||||
|
|
||||||
// Check if all used blobs have been found in index
|
// Check if all used blobs have been found in index
|
||||||
if len(usedBlobs) != 0 {
|
if len(usedBlobs) != 0 {
|
||||||
Warnf("%v not found in the index\n"+
|
Warnf("%v not found in the index\n\n"+
|
||||||
"Data blobs seem to be missing, aborting prune to prevent further data loss!\n"+
|
"Integrity check failed: Data seems to be missing.\n"+
|
||||||
|
"Will not start prune to prevent (additional) data loss!\n"+
|
||||||
"Please report this error (along with the output of the 'prune' run) at\n"+
|
"Please report this error (along with the output of the 'prune' run) at\n"+
|
||||||
"https://github.com/restic/restic/issues/new/choose", usedBlobs)
|
"https://github.com/restic/restic/issues/new/choose", usedBlobs)
|
||||||
return errorIndexIncomplete
|
return errorIndexIncomplete
|
||||||
@ -378,7 +379,10 @@ func prune(opts PruneOptions, gopts GlobalOptions, repo restic.Repository, usedB
|
|||||||
return errorPacksMissing
|
return errorPacksMissing
|
||||||
}
|
}
|
||||||
if len(ignorePacks) != 0 {
|
if len(ignorePacks) != 0 {
|
||||||
Verbosef("missing but unneded pack files are referenced in the index, will be repaired\n")
|
Warnf("Missing but unneeded pack files are referenced in the index, will be repaired\n")
|
||||||
|
for id := range ignorePacks {
|
||||||
|
Warnf("will forget missing pack file %v\n", id)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
repackAllPacksWithDuplicates := true
|
repackAllPacksWithDuplicates := true
|
||||||
|
@ -88,6 +88,11 @@ func rebuildIndex(opts RebuildIndexOptions, gopts GlobalOptions, repo *repositor
|
|||||||
packSizeFromList[id] = packSize
|
packSizeFromList[id] = packSize
|
||||||
removePacks.Insert(id)
|
removePacks.Insert(id)
|
||||||
}
|
}
|
||||||
|
if !ok {
|
||||||
|
Warnf("adding pack file to index %v\n", id)
|
||||||
|
} else if size != packSize {
|
||||||
|
Warnf("reindexing pack file %v with unexpected size %v instead of %v\n", id, packSize, size)
|
||||||
|
}
|
||||||
delete(packSizeFromIndex, id)
|
delete(packSizeFromIndex, id)
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
@ -98,6 +103,7 @@ func rebuildIndex(opts RebuildIndexOptions, gopts GlobalOptions, repo *repositor
|
|||||||
// forget pack files that are referenced in the index but do not exist
|
// forget pack files that are referenced in the index but do not exist
|
||||||
// when rebuilding the index
|
// when rebuilding the index
|
||||||
removePacks.Insert(id)
|
removePacks.Insert(id)
|
||||||
|
Warnf("removing not found pack file %v\n", id)
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(packSizeFromList) > 0 {
|
if len(packSizeFromList) > 0 {
|
||||||
|
Loading…
Reference in New Issue
Block a user