aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2021-01-27 10:28:37 -0800
committerChris Lu <chris.lu@gmail.com>2021-01-27 10:28:37 -0800
commitb81956bcb573166a505d87c2f085e298639fe227 (patch)
treec41c31bbd088da9c1db854468af3449a55ee631c
parentf20ec82a286973a7e3658830637e2e1675729fc5 (diff)
downloadseaweedfs-b81956bcb573166a505d87c2f085e298639fe227.tar.xz
seaweedfs-b81956bcb573166a505d87c2f085e298639fe227.zip
mount: invalidate kernel cache when mounted to a filer path
fix https://github.com/chrislusf/seaweedfs/issues/1752#issuecomment-768178422
-rw-r--r--weed/filesys/meta_cache/meta_cache.go8
1 files changed, 7 insertions, 1 deletions
diff --git a/weed/filesys/meta_cache/meta_cache.go b/weed/filesys/meta_cache/meta_cache.go
index f4e4d7d6e..b9d4724c9 100644
--- a/weed/filesys/meta_cache/meta_cache.go
+++ b/weed/filesys/meta_cache/meta_cache.go
@@ -4,6 +4,7 @@ import (
"context"
"fmt"
"os"
+ "strings"
"sync"
"github.com/chrislusf/seaweedfs/weed/filer"
@@ -29,7 +30,12 @@ func NewMetaCache(dbFolder string, baseDir util.FullPath, uidGidMapper *UidGidMa
localStore: openMetaStore(dbFolder),
visitedBoundary: bounded_tree.NewBoundedTree(baseDir),
uidGidMapper: uidGidMapper,
- invalidateFunc: invalidateFunc,
+ invalidateFunc: func(fullpath util.FullPath) {
+ if baseDir != "/" && strings.HasPrefix(string(fullpath), string(baseDir)) {
+ fullpath = fullpath[len(baseDir):]
+ }
+ invalidateFunc(fullpath)
+ },
}
}