qemu: monitor: Add memory balloon support for virtio-ccw

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>
This commit is contained in:
Boris Fiuczynski 2015-06-10 09:02:36 +02:00 committed by Ján Tomko
parent 17ba622451
commit 840eca32ab

View 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)