mirror of
https://github.com/restic/restic.git
synced 2024-12-27 10:17:58 +00:00
Fix filepath uniqueness bug for blobs-per-file mode
This commit is contained in:
parent
a7b95d716a
commit
acb05e7855
1 changed files with 5 additions and 4 deletions
|
@ -191,11 +191,12 @@ func statsWalkTree(ctx context.Context, repo restic.Repository, treeID restic.ID
|
||||||
for _, blobID := range node.Content {
|
for _, blobID := range node.Content {
|
||||||
// ensure we have this file (by path) in our map; in this
|
// ensure we have this file (by path) in our map; in this
|
||||||
// mode, a file is unique by both contents and path
|
// mode, a file is unique by both contents and path
|
||||||
if _, ok := stats.fileBlobs[fpath]; !ok {
|
nodePath := filepath.Join(fpath, node.Name)
|
||||||
stats.fileBlobs[fpath] = restic.NewIDSet()
|
if _, ok := stats.fileBlobs[nodePath]; !ok {
|
||||||
|
stats.fileBlobs[nodePath] = restic.NewIDSet()
|
||||||
stats.TotalFileCount++
|
stats.TotalFileCount++
|
||||||
}
|
}
|
||||||
if _, ok := stats.fileBlobs[fpath][blobID]; !ok {
|
if _, ok := stats.fileBlobs[nodePath][blobID]; !ok {
|
||||||
// TODO: Is the blob type always 'data' in this case?
|
// TODO: Is the blob type always 'data' in this case?
|
||||||
blobSize, found := repo.LookupBlobSize(blobID, restic.DataBlob)
|
blobSize, found := repo.LookupBlobSize(blobID, restic.DataBlob)
|
||||||
if !found {
|
if !found {
|
||||||
|
@ -205,7 +206,7 @@ func statsWalkTree(ctx context.Context, repo restic.Repository, treeID restic.ID
|
||||||
// count the blob's size, then add this blob by this
|
// count the blob's size, then add this blob by this
|
||||||
// file (path) so we don't double-count it
|
// file (path) so we don't double-count it
|
||||||
stats.TotalSize += uint64(blobSize)
|
stats.TotalSize += uint64(blobSize)
|
||||||
stats.fileBlobs[fpath].Insert(blobID)
|
stats.fileBlobs[nodePath].Insert(blobID)
|
||||||
|
|
||||||
// this mode also counts total unique blob _references_ per file
|
// this mode also counts total unique blob _references_ per file
|
||||||
stats.TotalBlobCount++
|
stats.TotalBlobCount++
|
||||||
|
|
Loading…
Reference in a new issue