From 2ee11bf6b21d2726dcce5cb4f86fcf2a345a8e91 Mon Sep 17 00:00:00 2001 From: Stefan Prodan Date: Wed, 8 Aug 2018 12:14:26 +0300 Subject: [PATCH] Remove deleted files from cache instead of clearing the whole cache --- pkg/fscache/fscache.go | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/pkg/fscache/fscache.go b/pkg/fscache/fscache.go index 4002eaf..0d8a4a6 100644 --- a/pkg/fscache/fscache.go +++ b/pkg/fscache/fscache.go @@ -94,13 +94,16 @@ func (w *Watcher) updateCache() error { } } - // clear cache + // remove deleted files from cache w.Cache.Range(func(key interface{}, value interface{}) bool { - w.Cache.Delete(key) + _, ok := fileMap[key.(string)] + if !ok { + w.Cache.Delete(key) + } return true }) - // load cache + // sync cache for k, v := range fileMap { w.Cache.Store(k, v) }