diff --git a/cache/filecache/filecache_pruner.go b/cache/filecache/filecache_pruner.go index c6fd4497e..7f68c8b82 100644 --- a/cache/filecache/filecache_pruner.go +++ b/cache/filecache/filecache_pruner.go @@ -31,12 +31,15 @@ func (c Caches) Prune() (int, error) { count, err := cache.Prune(false) + counter += count + if err != nil { + if os.IsNotExist(err) { + continue + } return counter, errors.Wrapf(err, "failed to prune cache %q", k) } - counter += count - } return counter, nil @@ -68,7 +71,11 @@ func (c *Cache) Prune(force bool) (int, error) { _, err = f.Readdirnames(1) if err == io.EOF { // Empty dir. - return c.Fs.Remove(name) + err = c.Fs.Remove(name) + } + + if err != nil && !os.IsNotExist(err) { + return err } return nil @@ -87,7 +94,11 @@ func (c *Cache) Prune(force bool) (int, error) { if err == nil { counter++ } - return err + + if err != nil && !os.IsNotExist(err) { + return err + } + } return nil