How to hot plugin a new vhost-user-blk-pci device to running VM?

Peter Krempa pkrempa at redhat.com
Fri Jun 4 11:31:30 UTC 2021


On Fri, Jun 04, 2021 at 19:22:31 +0800, 梁朝军 wrote:
> Hi Guys:
> 
> Who can help me ? What does this issue mean?  When I attach a network I hit this issue.
> 
> libvirt: QEMU Driver error : internal error: unable to execute QEMU command 'netdev_add': Invalid parameter type for 'vhost', expected: boolean

Your qemu is too-new for libvirt. the 'netdev_add' command was converted
to a strict description by QMP schema and libvirt wasn't ready for that.

commit b6738ffc9f8be5a2a61236cd9bef7fd317982f01
Author: Peter Krempa <pkrempa at redhat.com>
Date:   Thu May 14 22:50:59 2020 +0200

    qemu: command: Generate -netdev command line via JSON->cmdline conversion

    The 'netdev_add' command was recently formally described in qemu via the
    QMP schema. This means that it also requires the arguments to be
    properly formatted. Our current approach is to generate the command line
    and then use qemuMonitorJSONKeywordStringToJSON to get the JSON
    properties for the monitor. This will not work if we need to pass some
    fields as numbers or booleans.

    In this step we re-do internals of qemuBuildHostNetStr to format a JSON
    object which is converted back via virQEMUBuildNetdevCommandlineFromJSON
    to the equivalent command line. This will later allow fixing of the
    monitor code to use the JSON object directly rather than rely on the
    conversion.

v6.3.0-139-gb6738ffc9f

Thus you need at least libvirt 6.4.0 with that qemu.




More information about the libvir-list mailing list