
On 10/20/2017 03:03 AM, Jiri Denemark wrote:
On Thu, Oct 19, 2017 at 18:30:53 -0400, John Ferlan wrote:
On 10/18/2017 07:29 AM, Jiri Denemark wrote:
Each time we need to check whether a given migration capability is supported by QEMU, we call query-migrate-capabilities QMP command and lookup the capability in the returned list. Asking for the list of supported capabilities once when we connect to QEMU and storing the result in a bitmap is much better and we don't need to enter a monitor just to check whether a migration capability is supported.
Signed-off-by: Jiri Denemark <jdenemar@redhat.com> --- src/qemu/qemu_domain.c | 68 +++++++++++++++++++++++++++++++++++++++++++++++++ src/qemu/qemu_domain.h | 9 +++++++ src/qemu/qemu_process.c | 13 +--------- 3 files changed, 78 insertions(+), 12 deletions(-)
There's no corresponding adjustment to qemuDomainObjPrivateXMLFormat and qemuDomainObjPrivateXMLParse in order to handle the restart scenario.
The rest of this looks OK, but do you need the Format/Parse logic for the bitmap?
No. The migration capabilities are rechecked every time libvirt connects to QEMU as said in the commit message and in qemu_domain.h:
OK, so to be official... Reviewed-by: John Ferlan <jferlan@redhat.com> John
diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index 5201c6a0ac..fb20d8ea63 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -323,6 +323,10 @@ struct _qemuDomainObjPrivate {
/* Tracks blockjob state for vm. Valid only while reconnecting to qemu. */ virTristateBool reconnectBlockjobs; + + /* Migration capabilities. Rechecked on reconnect, not to be saved in + * private XML. */ + virBitmapPtr migrationCaps; };
Jirka