summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Heon <matthew.heon@gmail.com>2017-12-14 09:19:00 -0500
committerAtomic Bot <atomic-devel@projectatomic.io>2017-12-14 18:18:16 +0000
commitbf0d35904752c2ac5c607c4a82237f074c862744 (patch)
tree682e3c5f6ec5eba26e654563bfee98dc88c417a0
parent6d297688644a73c23fce7fbbaa5b402eca4d85d8 (diff)
downloadpodman-bf0d35904752c2ac5c607c4a82237f074c862744.tar.gz
podman-bf0d35904752c2ac5c607c4a82237f074c862744.tar.bz2
podman-bf0d35904752c2ac5c607c4a82237f074c862744.zip
Remove lock existence checks when creating pods/containers
Given that we don't have a good way of cleaning up locks, these could potential cause issues if we ever reuse a container or pod ID Also changes locks dir to use tmpfs, as we can't directly clean up locks Signed-off-by: Matthew Heon <matthew.heon@gmail.com> Closes: #138 Approved by: rhatdan
-rw-r--r--libpod/container.go5
-rw-r--r--libpod/pod.go6
-rw-r--r--libpod/runtime.go2
3 files changed, 1 insertions, 12 deletions
diff --git a/libpod/container.go b/libpod/container.go
index ddd986b90..43ed56848 100644
--- a/libpod/container.go
+++ b/libpod/container.go
@@ -430,11 +430,6 @@ func newContainer(rspec *spec.Spec, lockDir string) (*Container, error) {
// Path our lock file will reside at
lockPath := filepath.Join(lockDir, ctr.config.ID)
- // Ensure there is no conflict - file does not exist
- _, err := os.Stat(lockPath)
- if err == nil || !os.IsNotExist(err) {
- return nil, errors.Wrapf(ErrCtrExists, "lockfile for container ID %s already exists", ctr.config.ID)
- }
// Grab a lockfile at the given path
lock, err := storage.GetLockfile(lockPath)
if err != nil {
diff --git a/libpod/pod.go b/libpod/pod.go
index b336c2677..15899930b 100644
--- a/libpod/pod.go
+++ b/libpod/pod.go
@@ -1,7 +1,6 @@
package libpod
import (
- "os"
"path/filepath"
"github.com/containers/storage"
@@ -57,11 +56,6 @@ func newPod(lockDir string) (*Pod, error) {
// Path our lock file will reside at
lockPath := filepath.Join(lockDir, pod.id)
- // Ensure there is no conflict - file does not exist
- _, err := os.Stat(lockPath)
- if err == nil || !os.IsNotExist(err) {
- return nil, errors.Wrapf(ErrCtrExists, "lockfile for pod ID %s already exists", pod.id)
- }
// Grab a lockfile at the given path
lock, err := storage.GetLockfile(lockPath)
if err != nil {
diff --git a/libpod/runtime.go b/libpod/runtime.go
index bc3a63940..b25d5f78c 100644
--- a/libpod/runtime.go
+++ b/libpod/runtime.go
@@ -138,7 +138,7 @@ func NewRuntime(options ...RuntimeOption) (runtime *Runtime, err error) {
}
// Make a directory to hold container lockfiles
- lockDir := filepath.Join(runtime.config.StaticDir, "lock")
+ lockDir := filepath.Join(runtime.config.TmpDir, "lock")
if err := os.MkdirAll(lockDir, 0755); err != nil {
// The directory is allowed to exist
if !os.IsExist(err) {