int asyncJob)
{
qemuDomainObjPrivatePtr priv = vm->privateData;
+ virBitmapPtr migEvent = NULL;
char **caps = NULL;
char **capStr;
int ret = -1;
}
if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_MIGRATION_EVENT)) {
+ migEvent = virBitmapNew(QEMU_MONITOR_MIGRATION_CAPS_LAST);
+ if (!migEvent)
+ goto cleanup;
+
+ ignore_value(virBitmapSetBit(migEvent, QEMU_MONITOR_MIGRATION_CAPS_EVENTS));
+
if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0)
goto cleanup;
- rc = qemuMonitorSetMigrationCapability(priv->mon,
- QEMU_MONITOR_MIGRATION_CAPS_EVENTS,
- true);
+ rc = qemuMonitorSetMigrationCapabilities(priv->mon, migEvent, migEvent);
if (qemuDomainObjExitMonitor(driver, vm) < 0)
goto cleanup;
}
static int
-testQemuMonitorJSONqemuMonitorJSONGetMigrationCapability(const void *data)
+testQemuMonitorJSONqemuMonitorJSONGetMigrationCapabilities(const void *data)
{
virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
int ret = -1;
const char *cap;
char **caps = NULL;
+ virBitmapPtr bitmap = NULL;
const char *reply =
"{"
" \"return\": ["
goto cleanup;
}
- if (qemuMonitorJSONSetMigrationCapability(qemuMonitorTestGetMonitor(test),
- QEMU_MONITOR_MIGRATION_CAPS_XBZRLE,
- true) < 0)
+ bitmap = virBitmapNew(QEMU_MONITOR_MIGRATION_CAPS_LAST);
+ if (!bitmap)
+ goto cleanup;
+
+ ignore_value(virBitmapSetBit(bitmap, QEMU_MONITOR_MIGRATION_CAPS_XBZRLE));
+ if (qemuMonitorJSONSetMigrationCapabilities(qemuMonitorTestGetMonitor(test),
+ bitmap, bitmap) < 0)
goto cleanup;
ret = 0;
cleanup:
qemuMonitorTestFree(test);
virStringListFree(caps);
+ virBitmapFree(bitmap);
return ret;
}
DO_TEST(qemuMonitorJSONGetChardevInfo);
DO_TEST(qemuMonitorJSONSetBlockIoThrottle);
DO_TEST(qemuMonitorJSONGetTargetArch);
- DO_TEST(qemuMonitorJSONGetMigrationCapability);
+ DO_TEST(qemuMonitorJSONGetMigrationCapabilities);
DO_TEST(qemuMonitorJSONQueryCPUs);
DO_TEST(qemuMonitorJSONGetVirtType);
DO_TEST(qemuMonitorJSONSendKey);