[libvirt] [PATCH v3 3/4] qemu_capabilities: Introduce QEMU_CAPS_PM_WAKEUP_SUPPORT

Michal Privoznik mprivozn at redhat.com
Thu Apr 11 11:37:49 UTC 2019


On 4/11/19 12:12 PM, Daniel Henrique Barboza wrote:
> <snip/>
 >
> All that said, I think a good solution would be (2). dompmsuspend isn't a
> performance sensitive command, thus the extra time to execute the API
> can be ignored. Also, we can still check for 
> QEMU_CAPS_QUERY_CURRENT_MACHINE
> inside qemuDomainPMSuspendForDuration to avoid firing up an error in a
> QEMU version that doesn't know the API.

That's the thing. We can't. The capability doesn't exist yet. So every 
domain that is currently running thinks that qemu doesn't have the 
capability. And when updating libvirt to say next release only freshly 
started domains might/will have the capability. For all already running 
domains libvirt thinks the capability is not there. Only freshly started 
domains will get the capability. IOW, upgrading libvirt won't help you 
unless you restart your domains (might not want to do that).

What I'm suggesting is to just execute the command, do not call 
qemuMonitorJSONCheckReply() and try to fetch info from the reply anyway. 
For instance, this is how qemuMonitorJSONGetKVMState() works.

Michal




More information about the libvir-list mailing list