This patch enables the free-page-reporting in qemu.
Signed-off-by: Nico Pache <npache(a)redhat.com>
---
src/qemu/qemu_command.c | 5 +++++
src/qemu/qemu_validate.c | 7 +++++++
2 files changed, 12 insertions(+)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 9519861e92..6466efc756 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -3830,6 +3830,11 @@ qemuBuildMemballoonCommandLine(virCommandPtr cmd,
virTristateSwitchTypeToString(def->memballoon->autodeflate));
}
+ if (def->memballoon->free_page_reporting != VIR_TRISTATE_SWITCH_ABSENT) {
+ virBufferAsprintf(&buf, ",free-page-reporting=%s",
+
virTristateSwitchTypeToString(def->memballoon->free_page_reporting));
+ }
+
qemuBuildVirtioOptionsStr(&buf, def->memballoon->virtio);
if (qemuCommandAddExtDevice(cmd, &def->memballoon->info) < 0)
diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c
index a212605579..cfeb1e67c4 100644
--- a/src/qemu/qemu_validate.c
+++ b/src/qemu/qemu_validate.c
@@ -3926,6 +3926,13 @@ qemuValidateDomainDeviceDefMemballoon(const virDomainMemballoonDef
*memballoon,
return -1;
}
+ if (memballoon->free_page_reporting != VIR_TRISTATE_SWITCH_ABSENT &&
+ !virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_BALLOON_FREE_PAGE_REPORTING)) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+ _("free-page-reporting is not supported by this QEMU
binary"));
+ return -1;
+ }
+
if (qemuValidateDomainVirtioOptions(memballoon->virtio, qemuCaps) < 0)
return -1;
--
2.18.4