diff options
author | Daniel J Walsh <dwalsh@redhat.com> | 2018-12-24 06:55:24 -0500 |
---|---|---|
committer | Daniel J Walsh <dwalsh@redhat.com> | 2018-12-24 09:03:53 -0500 |
commit | df99522c6794cbf9ea77c4c314dadf9e9b5b2a54 (patch) | |
tree | f43b0228054882a212b9493f4fca9657918ab88d /libpod/container_internal.go | |
parent | bbfe7341b7c03cba4a362ec1e1198ff3eb90d962 (diff) | |
download | podman-df99522c6794cbf9ea77c4c314dadf9e9b5b2a54.tar.gz podman-df99522c6794cbf9ea77c4c314dadf9e9b5b2a54.tar.bz2 podman-df99522c6794cbf9ea77c4c314dadf9e9b5b2a54.zip |
Fixes to handle /dev/shm correctly.
We had two problems with /dev/shm, first, you mount the
container read/only then /dev/shm was mounted read/only.
This is a bug a tmpfs directory should be read/write within
a read-only container.
The second problem is we were ignoring users mounted /dev/shm
from the host.
If user specified
podman run -d -v /dev/shm:/dev/shm ...
We were dropping this mount and still using the internal mount.
Signed-off-by: Daniel J Walsh <dwalsh@redhat.com>
Diffstat (limited to 'libpod/container_internal.go')
-rw-r--r-- | libpod/container_internal.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libpod/container_internal.go b/libpod/container_internal.go index 3217b2421..928be52ae 100644 --- a/libpod/container_internal.go +++ b/libpod/container_internal.go @@ -851,7 +851,7 @@ func (c *Container) mountStorage() (string, error) { return "", errors.Wrapf(err, "unable to determine if %q is mounted", c.config.ShmDir) } - if !mounted { + if !mounted && !MountExists(c.config.Spec.Mounts, "/dev/shm") { shmOptions := fmt.Sprintf("mode=1777,size=%d", c.config.ShmSize) if err := c.mountSHM(shmOptions); err != nil { return "", err |