Merge pull request #686 from qszxnp/filer2_dir_cache_bugfix

bugfix:delete Directory cache when filer2 delete Directory
This commit is contained in:
Chris Lu 2018-07-12 01:17:32 -07:00 committed by GitHub
commit 9e974f6a1b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -139,6 +139,7 @@ func (f *Filer) DeleteEntryMetaAndData(p FullPath, shouldDeleteChunks bool) (err
if len(entries) > 0 { if len(entries) > 0 {
return fmt.Errorf("folder %s is not empty", p) return fmt.Errorf("folder %s is not empty", p)
} }
f.cacheDelDirectory(string(p))
} }
if shouldDeleteChunks { if shouldDeleteChunks {
@ -155,6 +156,14 @@ func (f *Filer) ListDirectoryEntries(p FullPath, startFileName string, inclusive
return f.store.ListDirectoryEntries(p, startFileName, inclusive, limit) return f.store.ListDirectoryEntries(p, startFileName, inclusive, limit)
} }
func (f *Filer) cacheDelDirectory(dirpath string) {
if f.directoryCache == nil {
return
}
f.directoryCache.Delete(dirpath)
return
}
func (f *Filer) cacheGetDirectory(dirpath string) *Entry { func (f *Filer) cacheGetDirectory(dirpath string) *Entry {
if f.directoryCache == nil { if f.directoryCache == nil {
return nil return nil