cache: fix dir cache issue - #2117
This commit is contained in:
parent
89748feaa5
commit
d76da1f5fd
3 changed files with 83 additions and 7 deletions
16
backend/cache/cache.go
vendored
16
backend/cache/cache.go
vendored
|
@ -644,13 +644,15 @@ func (f *Fs) List(dir string) (entries fs.DirEntries, err error) {
|
|||
fs.Debugf(dir, "list: cached object: %v", co)
|
||||
case fs.Directory:
|
||||
cdd := DirectoryFromOriginal(f, o)
|
||||
// FIXME this overrides a possible expired dir
|
||||
//err := f.cache.AddDir(cdd)
|
||||
//if err != nil {
|
||||
// fs.Errorf(dir, "list: error caching dir from listing %v", o)
|
||||
//} else {
|
||||
// fs.Debugf(dir, "list: cached dir: %v", cdd)
|
||||
//}
|
||||
// check if the dir isn't expired and add it in cache if it isn't
|
||||
if cdd2, err := f.cache.GetDir(cdd.abs()); err != nil || time.Now().Before(cdd2.CacheTs.Add(f.fileAge)) {
|
||||
err := f.cache.AddDir(cdd)
|
||||
if err != nil {
|
||||
fs.Errorf(dir, "list: error caching dir from listing %v", o)
|
||||
} else {
|
||||
fs.Debugf(dir, "list: cached dir: %v", cdd)
|
||||
}
|
||||
}
|
||||
cachedEntries = append(cachedEntries, cdd)
|
||||
default:
|
||||
fs.Debugf(entry, "list: Unknown object type %T", entry)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue