On Tue, Dec 15, 2015 at 07:27:46AM -0500, John Ferlan wrote:
On 12/14/2015 09:57 AM, Martin Kletzander wrote:QEMU supports detect-zeroes option since version 2.1, but we never added support for it in libvirt. If was requested by Vasiliy Tolstov in the list, so I just added it. There are two discussions to be had, optionally. One is to decide whether we should disable detect_zeros='unmap' if discard is not set to 'unmap', but this is getting very hypervisor-specific, so I just documented the behaviour. The other one is the naming. I described why I made the decision for "zeros" instead of "zeroes" the decision in the patch, but I have no problem changing it to what others like better.Unfortunate that qemu chose "zeroes" instead of "zeros" or instead of "detect_zero_writes" (or something even longer and more descriptive). Seems strange though to say "detect_zeros=unmap". Would perhaps something like : detect = zero_write [or just zero, zeros, or zeroes] detect = unmap ... or detect_zero = write detect_zero = unmap ... Be more generic? Also, I would think detect_zero[e]s = off is meaningless since it's an optional parameter. The way the code is written, passing detect_zeroes=off to me would be akin to not providing it at all.
Yes, we could be more generic, I just couldn't think of any generalization of this feature. The "off" value is possible to use just in case the hypervisor default is something else ("on", for example), so that you can forcibly turn it off. Otherwise we would hae to guarantee that the default is off and I see that as a can of worms.
I think from my quick read - this would be similar to the "discard" option, w.r.t. values used/set. Johnv2: - format detect_zeroes on the command line instead of detect_zeros v1: - https://www.redhat.com/archives/libvir-list/2015-December/msg00484.html Martin Kletzander (2): conf: Add support of zero-detection for disks qemu: Add support for zero-detection writes docs/formatdomain.html.in | 10 ++++++ docs/schemas/domaincommon.rng | 12 +++++++ src/conf/domain_conf.c | 23 +++++++++++++- src/conf/domain_conf.h | 11 +++++++ src/libvirt_private.syms | 2 ++ src/qemu/qemu_capabilities.c | 2 ++ src/qemu/qemu_capabilities.h | 1 + src/qemu/qemu_command.c | 11 +++++++ tests/qemucapabilitiesdata/caps_2.1.1-1.caps | 1 + tests/qemucapabilitiesdata/caps_2.4.0-1.caps | 1 + tests/qemucapabilitiesdata/caps_2.5.0-1.caps | 1 + .../qemuxml2argv-disk-drive-detect-zeros.args | 27 ++++++++++++++++ .../qemuxml2argv-disk-drive-detect-zeros.xml | 37 ++++++++++++++++++++++ tests/qemuxml2argvtest.c | 4 +++ tests/qemuxml2xmltest.c | 1 + 15 files changed, 143 insertions(+), 1 deletion(-) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-detect-zeros.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-disk-drive-detect-zeros.xml -- 2.6.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list
Attachment:
signature.asc
Description: PGP signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list