summaryrefslogtreecommitdiff
path: root/pkg/spec/storage.go
diff options
context:
space:
mode:
authorMatthew Heon <matthew.heon@pm.me>2020-02-16 18:16:26 -0500
committerMatthew Heon <mheon@redhat.com>2020-02-17 16:28:36 -0500
commit40fa7e99317a32046fec2442b61dc524f63e52cd (patch)
tree22f3474ae97ce14adf2e7a8643759cbd5d3a0312 /pkg/spec/storage.go
parent92dbcb8841abae35658e5da1bf6eddee7669ea75 (diff)
downloadpodman-40fa7e99317a32046fec2442b61dc524f63e52cd.tar.gz
podman-40fa7e99317a32046fec2442b61dc524f63e52cd.tar.bz2
podman-40fa7e99317a32046fec2442b61dc524f63e52cd.zip
Use cleaned destination path for indexing image volumes
We use filepath.Clean() to remove trailing slashes to ensure that when we supercede image mounts with mounts from --volume and --mount, paths are consistent when we compare. Unfortunately, while we used the cleaned path for the destination in the mount, it was accidentally not used to index the maps that we use to identify what to supercede, so our comparisons might be thrown off by trailing slashes and similar. Fixes #5219 Signed-off-by: Matthew Heon <matthew.heon@pm.me>
Diffstat (limited to 'pkg/spec/storage.go')
-rw-r--r--pkg/spec/storage.go5
1 files changed, 3 insertions, 2 deletions
diff --git a/pkg/spec/storage.go b/pkg/spec/storage.go
index 0e2098c1d..182245cf1 100644
--- a/pkg/spec/storage.go
+++ b/pkg/spec/storage.go
@@ -739,6 +739,7 @@ func (config *CreateConfig) getImageVolumes() (map[string]spec.Mount, map[string
for vol := range config.BuiltinImgVolumes {
cleanDest := filepath.Clean(vol)
+ logrus.Debugf("Adding image volume at %s", cleanDest)
if config.ImageVolumeType == "tmpfs" {
// Tmpfs image volumes are handled as mounts
mount := spec.Mount{
@@ -747,13 +748,13 @@ func (config *CreateConfig) getImageVolumes() (map[string]spec.Mount, map[string
Type: TypeTmpfs,
Options: []string{"rprivate", "rw", "nodev", "exec"},
}
- mounts[vol] = mount
+ mounts[cleanDest] = mount
} else {
// Anonymous volumes have no name.
namedVolume := new(libpod.ContainerNamedVolume)
namedVolume.Options = []string{"rprivate", "rw", "nodev", "exec"}
namedVolume.Dest = cleanDest
- volumes[vol] = namedVolume
+ volumes[cleanDest] = namedVolume
}
}