aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwusong <75450248+wusongANKANG@users.noreply.github.com>2023-01-29 23:55:27 +0800
committerGitHub <noreply@github.com>2023-01-29 07:55:27 -0800
commitde081c0d64463bb867405874a902fc285d65c31a (patch)
treeb5b19e0960d6b5cabf9c24630c140b7ce01001ba
parentb63d1e9c6b59843085e495abf4c4b66fdfedd435 (diff)
downloadseaweedfs-de081c0d64463bb867405874a902fc285d65c31a.tar.xz
seaweedfs-de081c0d64463bb867405874a902fc285d65c31a.zip
[mount] fix metacache update (#4161)
-rw-r--r--weed/mount/meta_cache/meta_cache.go8
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