[libvirt] [PATCH v2 5/5] qemu: Enable memory-backend-file.discard-data whenever possible
Eduardo Habkost
ehabkost at redhat.com
Tue Apr 17 14:22:58 UTC 2018
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 at 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
More information about the libvir-list
mailing list