
On Tue, Apr 17, 2018 at 01:16:42PM +0200, Michal Privoznik wrote:
https://bugzilla.redhat.com/show_bug.cgi?id=1480668
The cases when we cannot enable this optimization are: 1) nvdimms 2) if memAccess='shared'
The specific use case for discard-data=on uses share=on, see: https://bugzilla.redhat.com/show_bug.cgi?id=1460848#c4 It looks like this will require a explicit XML element, after all.
Otherwise it is safe to enable it.
Signed-off-by: Michal Privoznik <mprivozn@redhat.com> --- src/qemu/qemu_command.c | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 527a35779d..b920f5c3e4 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3121,6 +3121,13 @@ qemuBuildMemoryBackendStr(virJSONValuePtr *backendProps, NULL) < 0) goto cleanup;
+ if (!mem->nvdimmPath && memAccess != VIR_DOMAIN_MEMORY_ACCESS_SHARED && + virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_MEMORY_FILE_DISCARD) && + virJSONValueObjectAdd(props, + "B:discard-data", true, + NULL) < 0) + goto cleanup; + switch (memAccess) { case VIR_DOMAIN_MEMORY_ACCESS_SHARED: if (virJSONValueObjectAdd(props, "b:share", true, NULL) < 0) -- 2.16.1
-- Eduardo