Comment 5 for bug 1847361

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Up/Downgrade with a command like this:
v=1:2.11+dfsg-1ubuntu7.18; apt install qemu-block-extra=$v qemu-system-common=$v qemu-system-x86=$v qemu-utils=$v

qemu-running: 1:2.11+dfsg-1ubuntu7.19
lib installed: 1:2.11+dfsg-1ubuntu7.18

Reported issue happens on attach:
root@b:~# virsh attach-device lateload cdrom-curl.xml
error: Failed to attach device from cdrom-curl.xml
error: internal error: unable to execute QEMU command 'device_add': Property 'virtio-blk-device.drive' can't find value 'drive-virtio-disk2'

In the log we can see:
Failed to initialize module: /usr/lib/x86_64-linux-gnu/qemu/block-curl.so
Note: only modules from the same build can be loaded.

So it is not a full ABI/API like a normal lib with an soname, it really is an internal .so with hard dependency on the real buildid.

In the design [1] it was mentioned that there could be options to load modules later via HMP/QMP.
In there also are some reasoning why to modularize and why to load things late.

[1]: https://wiki.qemu.org/Features/Modules

@Billy - comment #4 and #5 answer the questions I had to you above - I was too thrilled and tested it myself :-)