commit fcfa6f33bbebc128a3f9bc3162173bc3780c5f50
parent 77b23fe3db9ff86216887c317249a9a7e990139f
Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Date: Thu, 12 Sep 2019 17:24:34 +0200
filecache: Ignore "does not exist" errors in prune
Fixes #6326
Fixes #5745
Diffstat:
1 file changed, 15 insertions(+), 4 deletions(-)
diff --git 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