diff --git a/internal/cache/cache.go b/internal/cache/cache.go index 07c080b85..749df7991 100644 --- a/internal/cache/cache.go +++ b/internal/cache/cache.go @@ -96,7 +96,7 @@ func New(id string, basedir string) (c *Cache, err error) { } } - created, err := mkdirCacheDir(basedir) + err = fs.MkdirAll(basedir, 0700) if err != nil { return nil, err } @@ -119,6 +119,7 @@ func New(id string, basedir string) (c *Cache, err error) { } // create the repo cache dir if it does not exist yet + var created bool _, err = fs.Lstat(cachedir) if os.IsNotExist(err) { err = fs.MkdirAll(cachedir, dirMode) diff --git a/internal/cache/dir.go b/internal/cache/dir.go index 1e68fa26a..98019036a 100644 --- a/internal/cache/dir.go +++ b/internal/cache/dir.go @@ -4,10 +4,6 @@ import ( "fmt" "os" "path/filepath" - - "github.com/pkg/errors" - "github.com/restic/restic/internal/debug" - "github.com/restic/restic/internal/fs" ) // DefaultDir returns $RESTIC_CACHE_DIR, or the default cache directory @@ -25,32 +21,3 @@ func DefaultDir() (cachedir string, err error) { return filepath.Join(cachedir, "restic"), nil } - -// mkdirCacheDir ensures that the cache directory exists. It it didn't, created -// is set to true. -func mkdirCacheDir(cachedir string) (created bool, err error) { - var newCacheDir bool - - fi, err := fs.Stat(cachedir) - if os.IsNotExist(errors.Cause(err)) { - err = fs.MkdirAll(cachedir, 0700) - if err != nil { - return true, errors.Wrap(err, "MkdirAll") - } - - fi, err = fs.Stat(cachedir) - debug.Log("create cache dir %v", cachedir) - - newCacheDir = true - } - - if err != nil { - return newCacheDir, errors.Wrap(err, "Stat") - } - - if !fi.IsDir() { - return newCacheDir, errors.Errorf("cache dir %v is not a directory", cachedir) - } - - return newCacheDir, nil -}