diff options
Diffstat (limited to 'weed/filer2')
| -rw-r--r-- | weed/filer2/filer_deletion.go | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/weed/filer2/filer_deletion.go b/weed/filer2/filer_deletion.go index 574be8555..f8b09adf6 100644 --- a/weed/filer2/filer_deletion.go +++ b/weed/filer2/filer_deletion.go @@ -74,16 +74,13 @@ func (f *Filer) deleteChunksIfNotNew(oldEntry, newEntry *Entry) { } var toDelete []*filer_pb.FileChunk + newChunkIds := make(map[string]bool) + for _, newChunk := range newEntry.Chunks { + newChunkIds[newChunk.GetFileIdString()] = true + } for _, oldChunk := range oldEntry.Chunks { - found := false - for _, newChunk := range newEntry.Chunks { - if filer_pb.ChunkEquals(oldChunk, newChunk) { - found = true - break - } - } - if !found { + if _, found := newChunkIds[oldChunk.GetFileIdString()]; !found { toDelete = append(toDelete, oldChunk) } } |
