[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 21/21] migration: Add zstd compression multifd support
From: |
Juan Quintela |
Subject: |
Re: [PATCH v3 21/21] migration: Add zstd compression multifd support |
Date: |
Fri, 24 Jan 2020 19:49:31 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Eric Blake <address@hidden> wrote:
> On 1/23/20 5:58 AM, Juan Quintela wrote:
>> Signed-off-by: Juan Quintela <address@hidden>
>> ---
>> hw/core/qdev-properties.c | 2 +-
>> migration/Makefile.objs | 1 +
>> migration/migration.c | 6 +
>> migration/multifd-zstd.c | 304 +++++++++++++++++++++++++++++++++++
>> migration/multifd.h | 20 +++
>> migration/ram.c | 1 -
>> qapi/migration.json | 2 +-
>> tests/qtest/migration-test.c | 10 ++
>> 8 files changed, 343 insertions(+), 3 deletions(-)
>> create mode 100644 migration/multifd-zstd.c
>>
>
>> +++ b/migration/Makefile.objs
>> @@ -9,6 +9,7 @@ common-obj-y += qjson.o
>> common-obj-y += block-dirty-bitmap.o
>> common-obj-y += multifd.o
>> common-obj-y += multifd-zlib.o
>> +common-obj-$(CONFIG_ZSTD) += multifd-zstd.o
Hi
> zstd support is conditional...
yeap.
>> +++ b/qapi/migration.json
>> @@ -499,7 +499,7 @@
>> #
>> ##
>> { 'enum': 'MultifdCompress',
>> - 'data': [ 'none', 'zlib' ] }
>> + 'data': [ 'none', 'zlib', 'zstd' ] }
>
> ...so I would expect an 'if' conditional here when declaring the
> enum. It also needs documentation.
I fully agree about the documentation part.
But if you are setting zstd, and zstd is compiled out, we are giving the
error showed in the code shown below.
I am open to do anyother way. I don't speak qapi natively O:-)
Later, Juan.
diff --git a/migration/migration.c b/migration/migration.c
index d25fdb3e6b..f0d5ade1df 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -1256,6 +1256,12 @@ static bool migrate_params_check(MigrationParameters
*params, Error **errp)
"is invalid, it must be in the range of 1 to 10000 ms");
return false;
}
+ if (params->has_multifd_compress &&
+ params->multifd_compress == MULTIFD_COMPRESS_ZSTD &&
+ !multifd_compress_zstd_is_enabled()) {
+ error_setg(errp, "The multifd compression method zstd is compiled
out");
+ return false;
+ }
return true;
}
- Re: [PATCH v3 18/21] migration: Make no compression operations into its own structure, (continued)
[PATCH v3 20/21] configure: Enable test and libs for zstd, Juan Quintela, 2020/01/23
[PATCH v3 19/21] migration: Add zlib compression multifd support, Juan Quintela, 2020/01/23
[PATCH v3 21/21] migration: Add zstd compression multifd support, Juan Quintela, 2020/01/23
[PATCH v3 17/21] multifd: Split multifd code into its own file, Juan Quintela, 2020/01/23
Re: [PATCH v3 00/21] Multifd Migration Compression, Juan Quintela, 2020/01/23
Re: [PATCH v3 00/21] Multifd Migration Compression, Markus Armbruster, 2020/01/25