mirror of https://github.com/containers/podman.git
31 lines
827 B
Go
31 lines
827 B
Go
package shim
|
|
|
|
import (
|
|
"github.com/containers/podman/v5/pkg/machine"
|
|
"github.com/containers/podman/v5/pkg/machine/vmconfigs"
|
|
)
|
|
|
|
func CmdLineVolumesToMounts(volumes []string, volumeType vmconfigs.VolumeMountType) []*vmconfigs.Mount {
|
|
mounts := []*vmconfigs.Mount{}
|
|
for i, volume := range volumes {
|
|
var mount vmconfigs.Mount
|
|
tag, source, target, readOnly, _ := vmconfigs.SplitVolume(i, volume)
|
|
switch volumeType {
|
|
case vmconfigs.VirtIOFS:
|
|
virtioMount := machine.NewVirtIoFsMount(source, target, readOnly)
|
|
mount = virtioMount.ToMount()
|
|
default:
|
|
mount = vmconfigs.Mount{
|
|
Type: volumeType.String(),
|
|
Tag: tag,
|
|
Source: source,
|
|
Target: target,
|
|
ReadOnly: readOnly,
|
|
OriginalInput: volume,
|
|
}
|
|
}
|
|
mounts = append(mounts, &mount)
|
|
}
|
|
return mounts
|
|
}
|