[libvirt] [PATCH] qemu: capabilities: Don't partially reprope caps on process reconnect
Jiri Denemark
jdenemar at redhat.com
Fri Nov 25 18:04:20 UTC 2016
On Fri, Nov 25, 2016 at 17:14:48 +0100, Peter Krempa wrote:
> Thanks to the complex capability caching code virQEMUCapsProbeQMP was
> never called when we were starting a new qemu VM. On the other hand,
> when we are reconnecting to the qemu process we reload the capability
> list from the status XML file. This means that the flag preventing the
> function being called was not set and thus we partially reprobed some of
> the capabilities.
>
> The recent addition of CPU hotplug clears the
> QEMU_CAPS_QUERY_HOTPLUGGABLE_CPUS if the machine does not support it.
> The partial re-probe on reconnect results into attempting to call the
> unsupported command and then killing the VM.
>
> Remove the partial reprobe and depend on the stored capabilities. If it
> will be necessary to reprobe the capabilities in the future, we should
> do a full reprobe rather than this partial one.
> ---
> src/qemu/qemu_capabilities.c | 17 -----------------
> src/qemu/qemu_capabilities.h | 3 ---
> src/qemu/qemu_process.c | 4 ----
> 3 files changed, 24 deletions(-)
>
> diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c
> index 8901e7b..37e5302 100644
> --- a/src/qemu/qemu_capabilities.c
> +++ b/src/qemu/qemu_capabilities.c
> @@ -2937,23 +2937,6 @@ virQEMUCapsProbeQMPGICCapabilities(virQEMUCapsPtr qemuCaps,
> return 0;
> }
>
> -int virQEMUCapsProbeQMP(virQEMUCapsPtr qemuCaps,
> - qemuMonitorPtr mon)
> -{
> - VIR_DEBUG("qemuCaps=%p mon=%p", qemuCaps, mon);
> -
> - if (qemuCaps->usedQMP)
> - return 0;
> -
> - if (virQEMUCapsProbeQMPCommands(qemuCaps, mon) < 0)
> - return -1;
> -
> - if (virQEMUCapsProbeQMPEvents(qemuCaps, mon) < 0)
> - return -1;
> -
> - return 0;
> -}
> -
Oh, that's some seriously ancient piece of code which should have been
removed ages ago.
ACK
Jirka
More information about the libvir-list
mailing list