• H
    qemu: error out if PCI passthrough type is not supported · c5b02b67
    Hu Tao 提交于
    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: NHu Tao <hutao@cn.fujitsu.com>
    c5b02b67
qemu_command.c 415.0 KB