diff options
| author | Chris Lu <chris.lu@gmail.com> | 2021-01-27 10:28:37 -0800 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2021-01-27 10:28:37 -0800 |
| commit | b81956bcb573166a505d87c2f085e298639fe227 (patch) | |
| tree | c41c31bbd088da9c1db854468af3449a55ee631c | |
| parent | f20ec82a286973a7e3658830637e2e1675729fc5 (diff) | |
| download | seaweedfs-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.go | 8 |
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) + }, } } |
