summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libpod/container.go10
-rw-r--r--libpod/container_inspect.go12
-rw-r--r--libpod/image/image.go3
-rw-r--r--libpod/runtime_img.go4
4 files changed, 17 insertions, 12 deletions
diff --git a/libpod/container.go b/libpod/container.go
index 98810ea94..c2b07eb3f 100644
--- a/libpod/container.go
+++ b/libpod/container.go
@@ -743,10 +743,12 @@ func (c *Container) BindMounts() (map[string]string, error) {
// NamespacePath returns the path of one of the container's namespaces
// If the container is not running, an error will be returned
func (c *Container) NamespacePath(ns LinuxNS) (string, error) {
- c.lock.Lock()
- defer c.lock.Unlock()
- if err := c.syncContainer(); err != nil {
- return "", errors.Wrapf(err, "error updating container %s state", c.ID())
+ if !c.locked {
+ c.lock.Lock()
+ defer c.lock.Unlock()
+ if err := c.syncContainer(); err != nil {
+ return "", errors.Wrapf(err, "error updating container %s state", c.ID())
+ }
}
if c.state.State != ContainerStateRunning && c.state.State != ContainerStatePaused {
diff --git a/libpod/container_inspect.go b/libpod/container_inspect.go
index bbfcd4446..0fdce13c0 100644
--- a/libpod/container_inspect.go
+++ b/libpod/container_inspect.go
@@ -30,18 +30,18 @@ func (c *Container) getContainerInspectData(size bool, driverData *inspect.Data)
}
resolvPath := ""
- if path, ok := c.state.BindMounts["/etc/resolv.conf"]; ok {
- resolvPath = path
+ if getPath, ok := c.state.BindMounts["/etc/resolv.conf"]; ok {
+ resolvPath = getPath
}
hostsPath := ""
- if path, ok := c.state.BindMounts["/etc/hosts"]; ok {
- hostsPath = path
+ if getPath, ok := c.state.BindMounts["/etc/hosts"]; ok {
+ hostsPath = getPath
}
hostnamePath := ""
- if path, ok := c.state.BindMounts["/etc/hostname"]; ok {
- hostnamePath = path
+ if getPath, ok := c.state.BindMounts["/etc/hostname"]; ok {
+ hostnamePath = getPath
}
data := &inspect.ContainerInspectData{
diff --git a/libpod/image/image.go b/libpod/image/image.go
index 22268ac45..5413c4e6b 100644
--- a/libpod/image/image.go
+++ b/libpod/image/image.go
@@ -143,6 +143,9 @@ func (ir *Runtime) New(name, signaturePolicyPath, authfile string, writer io.Wri
newImage.InputName = imageName
img, err := newImage.getLocalImage()
+ if err != nil {
+ return nil, errors.Wrapf(err, "error retrieving local image after pulling %s", name)
+ }
newImage.image = img
return &newImage, nil
}
diff --git a/libpod/runtime_img.go b/libpod/runtime_img.go
index 215c0afed..b891fcde9 100644
--- a/libpod/runtime_img.go
+++ b/libpod/runtime_img.go
@@ -98,11 +98,11 @@ func (r *Runtime) RemoveImage(image *image.Image, force bool) (string, error) {
if force {
for _, ctr := range imageCtrs {
if err := r.removeContainer(ctr, true); err != nil {
- return "", errors.Wrapf(err, "error removing image %s: container %s using image could not be removed", image.ID, ctr.ID())
+ return "", errors.Wrapf(err, "error removing image %s: container %s using image could not be removed", image.ID(), ctr.ID())
}
}
} else {
- return "", fmt.Errorf("could not remove image %s as it is being used by %d containers", image.ID, len(imageCtrs))
+ return "", fmt.Errorf("could not remove image %s as it is being used by %d containers", image.ID(), len(imageCtrs))
}
}