aboutsummaryrefslogtreecommitdiff
path: root/migration/options.c
diff options
context:
space:
mode:
authorBryan Zhang <bryan.zhang@BYTEDANCE.COM>2024-03-01 03:59:00 +0000
committerPeter Xu <peterx@redhat.com>2024-03-01 14:14:55 +0800
commitb4014a2bf57ce08e2f6458cd82e9f968facf25c8 (patch)
treeda477b0654a7f00f689436617dc3ecdbe99bc90e /migration/options.c
parent87a2848715f5fc4fa114574dbbf7a5564cb4cdd7 (diff)
downloadqemu-b4014a2bf57ce08e2f6458cd82e9f968facf25c8.zip
qemu-b4014a2bf57ce08e2f6458cd82e9f968facf25c8.tar.gz
qemu-b4014a2bf57ce08e2f6458cd82e9f968facf25c8.tar.bz2
migration: Properly apply migration compression level parameters
Some glue code was missing, so that using `qmp_migrate_set_parameters` to set `multifd-zstd-level` or `multifd-zlib-level` did not work. This commit adds the glue code to fix that. Signed-off-by: Bryan Zhang <bryan.zhang@bytedance.com> Link: https://lore.kernel.org/r/20240301035901.4006936-2-bryan.zhang@bytedance.com Signed-off-by: Peter Xu <peterx@redhat.com>
Diffstat (limited to 'migration/options.c')
-rw-r--r--migration/options.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/migration/options.c b/migration/options.c
index 3e3e0b9..1cd3cc7 100644
--- a/migration/options.c
+++ b/migration/options.c
@@ -1312,6 +1312,12 @@ static void migrate_params_test_apply(MigrateSetParameters *params,
if (params->has_multifd_compression) {
dest->multifd_compression = params->multifd_compression;
}
+ if (params->has_multifd_zlib_level) {
+ dest->multifd_zlib_level = params->multifd_zlib_level;
+ }
+ if (params->has_multifd_zstd_level) {
+ dest->multifd_zstd_level = params->multifd_zstd_level;
+ }
if (params->has_xbzrle_cache_size) {
dest->xbzrle_cache_size = params->xbzrle_cache_size;
}
@@ -1447,6 +1453,12 @@ static void migrate_params_apply(MigrateSetParameters *params, Error **errp)
if (params->has_multifd_compression) {
s->parameters.multifd_compression = params->multifd_compression;
}
+ if (params->has_multifd_zlib_level) {
+ s->parameters.multifd_zlib_level = params->multifd_zlib_level;
+ }
+ if (params->has_multifd_zstd_level) {
+ s->parameters.multifd_zstd_level = params->multifd_zstd_level;
+ }
if (params->has_xbzrle_cache_size) {
s->parameters.xbzrle_cache_size = params->xbzrle_cache_size;
xbzrle_cache_resize(params->xbzrle_cache_size, errp);