diff --git a/virtcontainers/qemu_arch_base.go b/virtcontainers/qemu_arch_base.go index 115bb1e037..3157ef56e3 100644 --- a/virtcontainers/qemu_arch_base.go +++ b/virtcontainers/qemu_arch_base.go @@ -476,12 +476,21 @@ func generic9PVolume(volume types.Volume, nestedRun bool) govmmQemu.FSDevice { } } +func genericAppend9PVolume(devices []govmmQemu.Device, volume types.Volume, nestedRun bool) (govmmQemu.FSDevice, error) { + d := generic9PVolume(volume, nestedRun) + return d, nil +} + func (q *qemuArchBase) append9PVolume(devices []govmmQemu.Device, volume types.Volume) ([]govmmQemu.Device, error) { if volume.MountTag == "" || volume.HostPath == "" { return devices, nil } - d := generic9PVolume(volume, q.nestedRun) + d, err := genericAppend9PVolume(devices, volume, q.nestedRun) + if err != nil { + return nil, err + } + devices = append(devices, d) return devices, nil } diff --git a/virtcontainers/qemu_arm64.go b/virtcontainers/qemu_arm64.go index dd2bc32141..e9d9d3198b 100644 --- a/virtcontainers/qemu_arm64.go +++ b/virtcontainers/qemu_arm64.go @@ -11,6 +11,7 @@ import ( "time" govmmQemu "github.com/intel/govmm/qemu" + "github.com/kata-containers/runtime/virtcontainers/types" ) type qemuArm64 struct { @@ -110,3 +111,14 @@ func (q *qemuArm64) setIgnoreSharedMemoryMigrationCaps(_ context.Context, _ *gov func (q *qemuArm64) appendIOMMU(devices []govmmQemu.Device) ([]govmmQemu.Device, error) { return devices, fmt.Errorf("Arm64 architecture does not support vIOMMU") } + +func (q *qemuArm64) append9PVolume(devices []govmmQemu.Device, volume types.Volume) ([]govmmQemu.Device, error) { + d, err := genericAppend9PVolume(devices, volume, q.nestedRun) + if err != nil { + return nil, err + } + + d.Multidev = "" + devices = append(devices, d) + return devices, nil +}