mirror of
https://github.com/containers/podman.git
synced 2025-10-13 17:26:13 +08:00
Fix overlay volumes on Windows
The Windows source folder path was not converted in the corresponding machine folder path when the volume was of type overlay as it does for other bind mount volumes. Fix #25988 Signed-off-by: Mario Loriedo <mario.loriedo@gmail.com>
This commit is contained in:
@ -90,6 +90,13 @@ var _ = Describe("run basic podman commands", func() {
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
Expect(runAlp).To(Exit(0))
|
||||
|
||||
// Test overlay works on all platforms except Hyper-V (see #26210)
|
||||
if !isVmtype(define.HyperVVirt) {
|
||||
runAlp, err = mb.setCmd(bm.withPodmanCommand([]string{"run", "-v", tDir + ":/test:O", TESTIMAGE, "ls", "/test/attr-test-file"})).run()
|
||||
Expect(err).ToNot(HaveOccurred())
|
||||
Expect(runAlp).To(Exit(0))
|
||||
}
|
||||
|
||||
// Test build with --volume option
|
||||
cf := filepath.Join(tDir, "Containerfile")
|
||||
err = os.WriteFile(cf, []byte("FROM "+TESTIMAGE+"\nRUN ls /test/attr-test-file\n"), 0o644)
|
||||
|
@ -157,6 +157,11 @@ func parseVolumes(rtc *config.Config, volumeFlag, mountFlag, tmpfsFlag []string)
|
||||
}
|
||||
finalOverlayVolume := make([]*specgen.OverlayVolume, 0, len(overlayVolumes))
|
||||
for _, volume := range overlayVolumes {
|
||||
absSrc, err := specgen.ConvertWinMountPath(volume.Source)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("getting absolute path of %s: %w", volume.Source, err)
|
||||
}
|
||||
volume.Source = absSrc
|
||||
finalOverlayVolume = append(finalOverlayVolume, volume)
|
||||
}
|
||||
finalImageVolumes := make([]*specgen.ImageVolume, 0, len(unifiedContainerMounts.imageVolumes))
|
||||
|
Reference in New Issue
Block a user