Commit f45ece61 authored by Han-Wen Nienhuys's avatar Han-Wen Nienhuys

UnionFs: identify which UnionFs is dropping its caches.

parent b7c7652a
...@@ -61,6 +61,7 @@ func filePathHash(path string) string { ...@@ -61,6 +61,7 @@ func filePathHash(path string) string {
type UnionFs struct { type UnionFs struct {
fuse.DefaultFileSystem fuse.DefaultFileSystem
roots []string
branches []*fuse.LoopbackFileSystem branches []*fuse.LoopbackFileSystem
// The same, but as interfaces. // The same, but as interfaces.
...@@ -87,7 +88,8 @@ const ( ...@@ -87,7 +88,8 @@ const (
func NewUnionFs(roots []string, options UnionFsOptions) *UnionFs { func NewUnionFs(roots []string, options UnionFsOptions) *UnionFs {
g := new(UnionFs) g := new(UnionFs)
g.roots = make([]string, len(roots))
copy(g.roots, roots)
g.options = &options g.options = &options
for _, r := range roots { for _, r := range roots {
pt := fuse.NewLoopbackFileSystem(r) pt := fuse.NewLoopbackFileSystem(r)
...@@ -412,7 +414,7 @@ func (me *UnionFs) GetAttr(name string) (a *fuse.Attr, s fuse.Status) { ...@@ -412,7 +414,7 @@ func (me *UnionFs) GetAttr(name string) (a *fuse.Attr, s fuse.Status) {
return nil, fuse.ENOENT return nil, fuse.ENOENT
} }
if name == _DROP_CACHE { if name == _DROP_CACHE {
log.Println("Forced cache drop") log.Println("Forced cache drop on", me.roots)
me.branchCache.Purge() me.branchCache.Purge()
me.deletionCache.DropCache() me.deletionCache.DropCache()
return nil, fuse.ENOENT return nil, fuse.ENOENT
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment