From: Juan Quintela Date: Fri, 26 Nov 2021 09:30:32 +0000 (+0100) Subject: multifd: Use proper maximum compression values X-Git-Tag: v7.0.0-rc0~71^2~29 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fc6705229cbca807f2bab9a8acf22b0ab249e55c;p=thirdparty%2Fqemu.git multifd: Use proper maximum compression values It happens that there are functions to calculate the worst possible compression size for a packet. Use them. Suggested-by: Dr. David Alan Gilbert Signed-off-by: Juan Quintela Reviewed-by: Dr. David Alan Gilbert --- diff --git a/migration/multifd-zlib.c b/migration/multifd-zlib.c index 9f6ebf1076f..a2fec4d01d8 100644 --- a/migration/multifd-zlib.c +++ b/migration/multifd-zlib.c @@ -54,8 +54,8 @@ static int zlib_send_setup(MultiFDSendParams *p, Error **errp) error_setg(errp, "multifd %u: deflate init failed", p->id); return -1; } - /* To be safe, we reserve twice the size of the packet */ - z->zbuff_len = MULTIFD_PACKET_SIZE * 2; + /* This is the maxium size of the compressed buffer */ + z->zbuff_len = compressBound(MULTIFD_PACKET_SIZE); z->zbuff = g_try_malloc(z->zbuff_len); if (!z->zbuff) { deflateEnd(&z->zs); diff --git a/migration/multifd-zstd.c b/migration/multifd-zstd.c index cc4e9917246..97c08367d0d 100644 --- a/migration/multifd-zstd.c +++ b/migration/multifd-zstd.c @@ -67,8 +67,8 @@ static int zstd_send_setup(MultiFDSendParams *p, Error **errp) p->id, ZSTD_getErrorName(res)); return -1; } - /* To be safe, we reserve twice the size of the packet */ - z->zbuff_len = MULTIFD_PACKET_SIZE * 2; + /* This is the maxium size of the compressed buffer */ + z->zbuff_len = ZSTD_compressBound(MULTIFD_PACKET_SIZE); z->zbuff = g_try_malloc(z->zbuff_len); if (!z->zbuff) { ZSTD_freeCStream(z->zcs);