Chris Lu 6 years ago
parent
commit
a111f26fe6
  1. 2
      weed/filer2/filer_deletion.go
  2. 10
      weed/pb/filer_pb/filer_pb_helper.go

2
weed/filer2/filer_deletion.go

@ -78,7 +78,7 @@ func (f *Filer) deleteChunksIfNotNew(oldEntry, newEntry *Entry) {
for _, oldChunk := range oldEntry.Chunks {
found := false
for _, newChunk := range newEntry.Chunks {
if oldChunk.Fid.Equals(newChunk.Fid) {
if filer_pb.ChunkEquals(oldChunk, newChunk) {
found = true
break
}

10
weed/pb/filer_pb/filer_pb_helper.go

@ -21,8 +21,14 @@ func (fid *FileId) toFileId() string {
return needle.NewFileId(needle.VolumeId(fid.VolumeId), fid.FileKey, fid.Cookie).String()
}
func (fid *FileId) Equals(that *FileId) bool {
return fid.FileKey == that.FileKey && fid.VolumeId == that.VolumeId && fid.Cookie == that.Cookie
func ChunkEquals(this, that *FileChunk) bool {
if this.Fid == nil{
this.Fid, _ = toFileId(this.FileId)
}
if that.Fid == nil{
that.Fid, _ = toFileId(that.FileId)
}
return this.Fid.FileKey == that.Fid.FileKey && this.Fid.VolumeId == that.Fid.VolumeId && this.Fid.Cookie == that.Fid.Cookie
}
func BeforeEntrySerialization(chunks []*FileChunk) {

Loading…
Cancel
Save