]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: monitor: Add memory balloon support for virtio-ccw
authorBoris Fiuczynski <fiuczy@linux.vnet.ibm.com>
Wed, 10 Jun 2015 07:02:36 +0000 (09:02 +0200)
committerJán Tomko <jtomko@redhat.com>
Mon, 15 Jun 2015 15:05:32 +0000 (17:05 +0200)
The search for the memory balloon driver object is extended by a
second known name "virtio-balloon-ccw" in support for virtio-ccw.

Signed-off-by: Boris Fiuczynski <fiuczy@linux.vnet.ibm.com>
Reviewed-by: Daniel Hansel <daniel.hansel@linux.vnet.ibm.com>
Reviewed-by: Eric Farman <farman@linux.vnet.ibm.com>
Reviewed-by: Stefan Zimmermann <stzi@linux.vnet.ibm.com>
src/qemu/qemu_monitor.c

index 33600f03504ed0f5b231756258c997ac98d21545..e545740732409e7dbd149f4be4542c7631507fb9 100644 (file)
@@ -1069,9 +1069,9 @@ qemuMonitorSetOptions(qemuMonitorPtr mon, virJSONValuePtr options)
 
 
 /**
- * Search the qom objects for the balloon driver object by it's known name
- * of "virtio-balloon-pci".  The entry for the driver will be found by using
- * function "qemuMonitorFindObjectPath".
+ * Search the qom objects for the balloon driver object by its known names
+ * of "virtio-balloon-pci" or "virtio-balloon-ccw". The entry for the driver
+ * will be found by using function "qemuMonitorJSONFindLinkPath".
  *
  * Once found, check the entry to ensure it has the correct property listed.
  * If it does not, then obtaining statistics from QEMU will not be possible.
@@ -1081,6 +1081,7 @@ static void
 qemuMonitorInitBalloonObjectPath(qemuMonitorPtr mon)
 {
     ssize_t i, nprops = 0;
+    int flp_ret = 0;
     char *path = NULL;
     qemuMonitorJSONListPathPtr *bprops = NULL;
 
@@ -1093,8 +1094,14 @@ qemuMonitorInitBalloonObjectPath(qemuMonitorPtr mon)
     }
     mon->ballooninit = true;
 
-    if (qemuMonitorJSONFindLinkPath(mon, "virtio-balloon-pci", &path) < 0)
+    flp_ret = qemuMonitorJSONFindLinkPath(mon, "virtio-balloon-pci", &path);
+    if (flp_ret == -2) {
+        /* pci object was not found retry search for ccw object */
+        if (qemuMonitorJSONFindLinkPath(mon, "virtio-balloon-ccw", &path) < 0)
+            return;
+    } else if (flp_ret < 0) {
         return;
+    }
 
     nprops = qemuMonitorJSONGetObjectListPaths(mon, path, &bprops);
     if (nprops < 0)