diff options
Diffstat (limited to 'libpod/runtime.go')
-rw-r--r-- | libpod/runtime.go | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/libpod/runtime.go b/libpod/runtime.go index b86e06546..616641fc1 100644 --- a/libpod/runtime.go +++ b/libpod/runtime.go @@ -25,6 +25,7 @@ type Runtime struct { storageService *storageService imageContext *types.SystemContext ociRuntime *OCIRuntime + locksDir string valid bool lock sync.RWMutex } @@ -136,6 +137,17 @@ func NewRuntime(options ...RuntimeOption) (runtime *Runtime, err error) { } } + // Make a directory to hold container lockfiles + lockPath := filepath.Join(runtime.config.StaticDir, "lock") + if err := os.MkdirAll(lockPath, 0755); err != nil { + // The directory is allowed to exist + if !os.IsExist(err) { + return nil, errors.Wrapf(err, "error creating runtime lockfiles directory %s", + lockPath) + } + } + runtime.locksDir = lockPath + // Make the per-boot files directory if it does not exist if err := os.MkdirAll(runtime.config.TmpDir, 0755); err != nil { // The directory is allowed to exist @@ -166,7 +178,7 @@ func NewRuntime(options ...RuntimeOption) (runtime *Runtime, err error) { } } - state, err := NewSQLState(dbPath, lockPath, specsDir, runtime) + state, err := NewSQLState(dbPath, lockPath, specsDir, runtime.locksDir, runtime) if err != nil { return nil, err } |