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(a)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(a)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