Merge pull request #2289 from nivekuil/mountfix

mount: fix consistency issue, invalidate mount meta cache more aggressively
This commit is contained in:
Chris Lu 2021-08-28 05:18:44 -07:00 committed by GitHub
commit ccc44059e8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -39,14 +39,10 @@ func SubscribeMetaEvents(mc *MetaCache, selfSignature int32, client filer_pb.Fil
err := mc.AtomicUpdateEntryFromFiler(context.Background(), oldPath, newEntry) err := mc.AtomicUpdateEntryFromFiler(context.Background(), oldPath, newEntry)
if err == nil { if err == nil {
if message.OldEntry != nil && message.NewEntry != nil { if message.OldEntry != nil && message.NewEntry != nil {
if message.OldEntry.Name == message.NewEntry.Name { oldKey := util.NewFullPath(resp.Directory, message.OldEntry.Name)
// no need to invalidate mc.invalidateFunc(oldKey)
} else { newKey := util.NewFullPath(dir, message.NewEntry.Name)
oldKey := util.NewFullPath(resp.Directory, message.OldEntry.Name) mc.invalidateFunc(newKey)
mc.invalidateFunc(oldKey)
newKey := util.NewFullPath(dir, message.NewEntry.Name)
mc.invalidateFunc(newKey)
}
} else if message.OldEntry == nil && message.NewEntry != nil { } else if message.OldEntry == nil && message.NewEntry != nil {
// no need to invaalidate // no need to invaalidate
} else if message.OldEntry != nil && message.NewEntry == nil { } else if message.OldEntry != nil && message.NewEntry == nil {