mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-02 01:45:17 +00:00
qemu: Correctly wait for spice to migrate
Currently we query-spice after the main migration has completed before moving to next state. Qemu reports this as boolean (not enclosed within quotes). Therefore it is not correct to use virJSONValueObjectGetString but virJSONValueObjectGetBoolean instead.
This commit is contained in:
parent
1916679506
commit
998dc17da3
@ -2399,7 +2399,6 @@ qemuMonitorJSONSpiceGetMigrationStatusReply(virJSONValuePtr reply,
|
||||
bool *spice_migrated)
|
||||
{
|
||||
virJSONValuePtr ret;
|
||||
const char *migrated_str;
|
||||
|
||||
if (!(ret = virJSONValueObjectGet(reply, "return"))) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
@ -2407,13 +2406,11 @@ qemuMonitorJSONSpiceGetMigrationStatusReply(virJSONValuePtr reply,
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!(migrated_str = virJSONValueObjectGetString(ret, "migrated"))) {
|
||||
if (virJSONValueObjectGetBoolean(ret, "migrated", spice_migrated) < 0) {
|
||||
/* Deliberately don't report error here as we are
|
||||
* probably dealing with older qemu which doesn't
|
||||
* report this yet. Pretend spice is migrated. */
|
||||
*spice_migrated = true;
|
||||
} else {
|
||||
*spice_migrated = STREQ(migrated_str, "true");
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user