Am 28.08.2019 um 14:56 hat Denis Plotnikov geschrieben: > The patch adds some preparation parts for incompatible compression type > feature to QCOW2 header that indicates that *all* compressed clusters > must be (de)compressed using a certain compression type. > > It is implied that the compression type is set on the image creation and > can be changed only later by image conversion, thus compression type > defines the only compression algorithm used for the image. > > The goal of the feature is to add support of other compression algorithms > to qcow2. For example, ZSTD which is more effective on compression than ZLIB. > It works roughly 2x faster than ZLIB providing a comparable compression ratio > and therefore provides a performance advantage in backup scenarios. > > The default compression is ZLIB. Images created with ZLIB compression type > are backward compatible with older qemu versions. > > Signed-off-by: Denis Plotnikov <dplotni...@virtuozzo.com>
> @@ -359,6 +364,13 @@ typedef struct BDRVQcow2State { > > bool metadata_preallocation_checked; > bool metadata_preallocation; > + /* > + * Compression type used for the image. Default: 0 - ZLIB > + * The image compression type is set on image creation. > + * The only way to change the compression type is to convert the image > + * with the desired compression type set > + */ > + uint32_t compression_type; Should this use the enum Qcow2CompressionType instead of a plain int? If you don't need to respin, I can make this change while applying. Kevin