Browse Source

FUSE: invalidate FUSE cached entries

fix https://github.com/chrislusf/seaweedfs/issues/2108
pull/2112/head
Chris Lu 4 years ago
parent
commit
fadc1febdb
  1. 10
      weed/filesys/meta_cache/meta_cache_subscribe.go

10
weed/filesys/meta_cache/meta_cache_subscribe.go

@ -40,9 +40,13 @@ func SubscribeMetaEvents(mc *MetaCache, selfSignature int32, client filer_pb.Fil
newEntry = filer.FromPbEntry(dir, message.NewEntry)
}
err := mc.AtomicUpdateEntryFromFiler(context.Background(), oldPath, newEntry)
if err == nil && message.OldEntry != nil && message.NewEntry != nil {
key := util.NewFullPath(dir, message.NewEntry.Name)
mc.invalidateFunc(key)
if err == nil && message.OldEntry != nil {
oldKey := util.NewFullPath(resp.Directory, message.OldEntry.Name)
mc.invalidateFunc(oldKey)
if message.NewEntry != nil {
key := util.NewFullPath(dir, message.NewEntry.Name)
mc.invalidateFunc(key)
}
}
return err

Loading…
Cancel
Save