]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: Do not use qemuMonitorSetMigrationCapability
authorJiri Denemark <jdenemar@redhat.com>
Thu, 1 Mar 2018 09:51:53 +0000 (10:51 +0100)
committerJiri Denemark <jdenemar@redhat.com>
Tue, 17 Apr 2018 08:46:23 +0000 (10:46 +0200)
Rework all remaining callers of qemuMonitorSetMigrationCapability to use
the new qemuMonitorSetMigrationCapabilities API.

Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/qemu/qemu_migration_params.c
tests/qemumonitorjsontest.c

index d934a93086615cf07f3a8bdcd73148bb84df23d5..53e105bec8a00722638c4d07323fe9eda14c09d0 100644 (file)
@@ -487,6 +487,7 @@ qemuMigrationCapsCheck(virQEMUDriverPtr driver,
                        int asyncJob)
 {
     qemuDomainObjPrivatePtr priv = vm->privateData;
+    virBitmapPtr migEvent = NULL;
     char **caps = NULL;
     char **capStr;
     int ret = -1;
@@ -521,12 +522,16 @@ qemuMigrationCapsCheck(virQEMUDriverPtr driver,
     }
 
     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;
index 0afdc80038d8518218ec3676639e8f50a8c1dfed..1cad383596e04d79f8c6fd3ff3c38c5e7e535950 100644 (file)
@@ -2229,13 +2229,14 @@ testQemuMonitorJSONqemuMonitorJSONGetTargetArch(const void *data)
 }
 
 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\": ["
@@ -2266,15 +2267,20 @@ testQemuMonitorJSONqemuMonitorJSONGetMigrationCapability(const void *data)
         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;
 }
 
@@ -2999,7 +3005,7 @@ mymain(void)
     DO_TEST(qemuMonitorJSONGetChardevInfo);
     DO_TEST(qemuMonitorJSONSetBlockIoThrottle);
     DO_TEST(qemuMonitorJSONGetTargetArch);
-    DO_TEST(qemuMonitorJSONGetMigrationCapability);
+    DO_TEST(qemuMonitorJSONGetMigrationCapabilities);
     DO_TEST(qemuMonitorJSONQueryCPUs);
     DO_TEST(qemuMonitorJSONGetVirtType);
     DO_TEST(qemuMonitorJSONSendKey);