From 6da9bfbbce5cf459372617c8befac6012828baa4 Mon Sep 17 00:00:00 2001 From: Fabian Wickborn Date: Thu, 5 Oct 2017 00:07:48 +0200 Subject: [PATCH] Create missing lock dir when saving lock --- internal/backend/local/local.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/internal/backend/local/local.go b/internal/backend/local/local.go index e83d53d39..b3cd9127f 100644 --- a/internal/backend/local/local.go +++ b/internal/backend/local/local.go @@ -124,6 +124,16 @@ func (b *Local) Save(ctx context.Context, h restic.Handle, rd io.Reader) (err er return err } + if h.Type == restic.LockFile { + lockDir := b.Dirname(h) + if !dirExists(lockDir) { + debug.Log("locks/ does not exist yet, creating now.") + if err := fs.MkdirAll(lockDir, backend.Modes.Dir); err != nil { + return errors.Wrap(err, "MkdirAll") + } + } + } + filename := b.Filename(h) // create new file