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