mount: invalidate kernel cache when mounted to a filer path

fix https://github.com/chrislusf/seaweedfs/issues/1752#issuecomment-768178422
This commit is contained in:
Chris Lu 2021-01-27 10:28:37 -08:00
parent f20ec82a28
commit b81956bcb5

View File

@ -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)
},
}
}