diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2021-02-18 03:13:41 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-18 03:13:41 -0500 |
commit | c3419d2168415cb3e6f1349afaa9c04c29cbb933 (patch) | |
tree | c2d0764e897e75640da9f447360fbfb94dabae39 | |
parent | d48f4a0e1f3d24fb4f98351b5bdd31daa34c0fb6 (diff) | |
parent | a9d548bf771ae8011ed0d9862184980599dde9a1 (diff) | |
download | podman-c3419d2168415cb3e6f1349afaa9c04c29cbb933.tar.gz podman-c3419d2168415cb3e6f1349afaa9c04c29cbb933.tar.bz2 podman-c3419d2168415cb3e6f1349afaa9c04c29cbb933.zip |
Merge pull request #9415 from mheon/fix_9354
Change source path resolution for volume copy-up
-rw-r--r-- | libpod/container_internal.go | 2 | ||||
-rw-r--r-- | test/e2e/run_volume_test.go | 12 |
2 files changed, 13 insertions, 1 deletions
diff --git a/libpod/container_internal.go b/libpod/container_internal.go index ca0e082ff..e22f3fcfa 100644 --- a/libpod/container_internal.go +++ b/libpod/container_internal.go @@ -1644,7 +1644,7 @@ func (c *Container) mountNamedVolume(v *ContainerNamedVolume, mountpoint string) getOptions := copier.GetOptions{ KeepDirectoryNames: false, } - errChan <- copier.Get(mountpoint, "", getOptions, []string{v.Dest + "/."}, writer) + errChan <- copier.Get(srcDir, "", getOptions, []string{"/."}, writer) }() // Copy, volume side: stream what we've written to the pipe, into diff --git a/test/e2e/run_volume_test.go b/test/e2e/run_volume_test.go index 91d8f15f4..d81fb769d 100644 --- a/test/e2e/run_volume_test.go +++ b/test/e2e/run_volume_test.go @@ -334,6 +334,18 @@ RUN sh -c "cd /etc/apk && ln -s ../../testfile"` Expect(outputSession.OutputToString()).To(Equal(baselineOutput)) }) + It("podman named volume copyup of /var", func() { + baselineSession := podmanTest.Podman([]string{"run", "--rm", "-t", "-i", fedoraMinimal, "ls", "/var"}) + baselineSession.WaitWithDefaultTimeout() + Expect(baselineSession.ExitCode()).To(Equal(0)) + baselineOutput := baselineSession.OutputToString() + + outputSession := podmanTest.Podman([]string{"run", "-t", "-i", "-v", "/var", fedoraMinimal, "ls", "/var"}) + outputSession.WaitWithDefaultTimeout() + Expect(outputSession.ExitCode()).To(Equal(0)) + Expect(outputSession.OutputToString()).To(Equal(baselineOutput)) + }) + It("podman read-only tmpfs conflict with volume", func() { session := podmanTest.Podman([]string{"run", "--rm", "-t", "-i", "--read-only", "-v", "tmp_volume:" + dest, ALPINE, "touch", dest + "/a"}) session.WaitWithDefaultTimeout() |