[libvirt] [PATCH v6 4/5] qemu: migration: support setting compession parameters
Jiri Denemark
jdenemar at redhat.com
Thu Apr 14 12:40:11 UTC 2016
On Thu, Apr 14, 2016 at 13:33:51 +0300, Nikolay Shirokovskiy wrote:
> Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy at virtuozzo.com>
> ---
> include/libvirt/libvirt-domain.h | 33 +++++++++++++++
> src/qemu/qemu_migration.c | 91 +++++++++++++++++++++++++++++++++++++++-
> src/qemu/qemu_migration.h | 9 ++++
> 3 files changed, 132 insertions(+), 1 deletion(-)
...
> diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
> index 8fe0f0d..099ff92 100644
> --- a/src/qemu/qemu_migration.c
> +++ b/src/qemu/qemu_migration.c
...
> @@ -6663,6 +6727,7 @@ qemuMigrationCompressionDump(qemuMigrationCompressionPtr compression,
> unsigned long *flags)
> {
> size_t i;
> + qemuMonitorMigrationCompressionPtr cparams = &compression->params;
>
> if (compression->methods == 1ULL << QEMU_MIGRATION_COMPRESS_XBZRLE) {
You should also check whether xbzrle_cache is set, otherwise you'd lose
that settings if only xbzrle method was chosen.
> *flags |= VIR_MIGRATE_COMPRESSED;
ACK with the following trivial patch squashed in...
Jirka
diff --git i/src/qemu/qemu_migration.c w/src/qemu/qemu_migration.c
index 3e4243a..b9e5fc2 100644
--- i/src/qemu/qemu_migration.c
+++ w/src/qemu/qemu_migration.c
@@ -6700,7 +6700,7 @@ qemuMigrationCompressionParse(virTypedParameterPtr params,
#undef GET_PARAM
if ((cparams->level_set || cparams->threads_set || cparams->dthreads_set) &&
- !(compression->methods & (1ULL << QEMU_MIGRATION_COMPRESS_MULTITHREAD))) {
+ !(compression->methods & (1ULL << QEMU_MIGRATION_COMPRESS_MT))) {
virReportError(VIR_ERR_INVALID_ARG, "%s",
_("Turn multithread compression on to tune it"));
goto error;
@@ -6733,7 +6733,8 @@ qemuMigrationCompressionDump(qemuMigrationCompressionPtr compression,
size_t i;
qemuMonitorMigrationCompressionPtr cparams = &compression->params;
- if (compression->methods == 1ULL << QEMU_MIGRATION_COMPRESS_XBZRLE) {
+ if (compression->methods == 1ULL << QEMU_MIGRATION_COMPRESS_XBZRLE &&
+ !compression->xbzrle_cache_set) {
*flags |= VIR_MIGRATE_COMPRESSED;
return 0;
}
More information about the libvir-list
mailing list