diff options
| author | wusong <75450248+wusongANKANG@users.noreply.github.com> | 2023-01-29 23:55:27 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-29 07:55:27 -0800 |
| commit | de081c0d64463bb867405874a902fc285d65c31a (patch) | |
| tree | b5b19e0960d6b5cabf9c24630c140b7ce01001ba | |
| parent | b63d1e9c6b59843085e495abf4c4b66fdfedd435 (diff) | |
| download | seaweedfs-de081c0d64463bb867405874a902fc285d65c31a.tar.xz seaweedfs-de081c0d64463bb867405874a902fc285d65c31a.zip | |
[mount] fix metacache update (#4161)
| -rw-r--r-- | weed/mount/meta_cache/meta_cache.go | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/weed/mount/meta_cache/meta_cache.go b/weed/mount/meta_cache/meta_cache.go index cb2521824..4ec41a2a8 100644 --- a/weed/mount/meta_cache/meta_cache.go +++ b/weed/mount/meta_cache/meta_cache.go @@ -70,8 +70,12 @@ func (mc *MetaCache) AtomicUpdateEntryFromFiler(ctx context.Context, oldPath uti //mc.Lock() //defer mc.Unlock() - oldDir, _ := oldPath.DirAndName() - if mc.isCachedFn(util.FullPath(oldDir)) { + entry, err := mc.FindEntry(ctx, oldPath) + if err != nil && err != filer_pb.ErrNotFound { + glog.Errorf("Metacache: find entry error: %v", err) + return err + } + if entry != nil { if oldPath != "" { if newEntry != nil && oldPath == newEntry.FullPath { // skip the unnecessary deletion |
