[libvirt] [RFC PATCH 14/30] [RFC] qemu: block: Always set discard for storage nodes

Kevin Wolf kwolf at redhat.com
Fri Apr 20 08:13:07 UTC 2018


Am 19.04.2018 um 17:25 hat Peter Krempa geschrieben:
> According to my research it seems that qemu always sets discard for the
> storage nodes. Replicate this in our generator.
> ---
>  src/qemu/qemu_block.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c
> index 44662a4603..0357d93384 100644
> --- a/src/qemu/qemu_block.c
> +++ b/src/qemu/qemu_block.c
> @@ -1155,7 +1155,10 @@ qemuBlockStorageSourceGetBackendProps(virStorageSourcePtr src,
>          if (qemuBlockStorageSourceGetBlockdevGetCacheProps(src, fileprops) < 0)
>              goto cleanup;
> 
> -        if (virJSONValueObjectAdd(fileprops, "b:read-only", src->readonly, NULL) < 0)
> +        if (virJSONValueObjectAdd(fileprops,
> +                                  "b:read-only", src->readonly,
> +                                  "s:discard", "unmap",
> +                                  NULL) < 0)
>              goto cleanup;
>      }

Looks correct to me. The QEMU default means that discard requests made
by the guest are ignored (already at the format level), but discard
requests made by a format driver to the protocol layer are honoured
(e.g. qcow2 discarding data when an internal snapshot is deleted).

Kevin




More information about the libvir-list mailing list