From e445dc5e618e4a2d5dc1e9419c75ac6caa9cf256 Mon Sep 17 00:00:00 2001 From: Jarek Kowalski Date: Fri, 22 May 2020 10:08:48 -0700 Subject: [PATCH] repo: moved creating cache directory from connect to first use (#450) --- repo/connect.go | 4 ---- repo/open.go | 5 +++++ 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/repo/connect.go b/repo/connect.go index 10484648e..77823e083 100644 --- a/repo/connect.go +++ b/repo/connect.go @@ -149,10 +149,6 @@ func setupCaching(ctx context.Context, configPath string, lc *LocalConfig, opt c log(ctx).Debugf("Creating cache directory '%v' with max size %v", lc.Caching.CacheDirectory, lc.Caching.MaxCacheSizeBytes) - if err := os.MkdirAll(lc.Caching.CacheDirectory, 0700); err != nil { - log(ctx).Warningf("unablet to create cache directory: %v", err) - } - return nil } diff --git a/repo/open.go b/repo/open.go index d024c7bdb..fcc1a1d5a 100644 --- a/repo/open.go +++ b/repo/open.go @@ -5,6 +5,7 @@ import ( "context" "encoding/json" "io/ioutil" + "os" "path/filepath" "time" @@ -198,6 +199,10 @@ func readAndCacheFormatBlobBytes(ctx context.Context, st blob.Storage, cacheDire cachedFile := filepath.Join(cacheDirectory, "kopia.repository") if cacheDirectory != "" { + if err := os.MkdirAll(cacheDirectory, 0700); err != nil && !os.IsExist(err) { + log(ctx).Warningf("unable to create cache directory: %v", err) + } + b, err := ioutil.ReadFile(cachedFile) //nolint:gosec if err == nil { // read from cache.