mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-23 06:05:27 +00:00
qemu: error out if PCI passthrough type is not supported
If PCI passthrough type is not supported, we should error out rather than continue building the command line. When starting a domain, the type has been already checked by qemuPrepareHostdevPCICheckSupport() before building qemu command line, so the problem doesn't emerge. But when coverting a domain xml without specifying passthrough type explictly to qemu arg, we will get a malformed command line. the xml: <hostdev mode='subsystem' type='pci' managed='yes'> <source> <address domain='0x0001' bus='0x03' slot='0x00' function='0x0'/> </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </hostdev> the converted command line: -device ,host=0001:03:00.0,id=hostdev0,bus=pci.0,addr=0x5 After this patch, virsh gives an error message: virsh domxml-to-native qemu-argv /tmp/tmp.xml error: internal error: invalid PCI passthrough type 'default' Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>
This commit is contained in:
parent
3517e1b2f2
commit
c5b02b6773
@ -4883,7 +4883,7 @@ qemuBuildPCIHostdevDevStr(virDomainDefPtr def,
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
_("invalid PCI passthrough type '%s'"),
|
||||
virDomainHostdevSubsysPCIBackendTypeToString(backend));
|
||||
break;
|
||||
goto error;
|
||||
}
|
||||
|
||||
virBufferAddLit(&buf, ",host=");
|
||||
|
Loading…
Reference in New Issue
Block a user