The compression filter driver is introduced as suggested by Max. A sample usage of the filter can be found in the test #214. Now, multiple clusters can be written compressed. It is useful for the backup job.
v7: 01: The 'zip_' prefix for the compression filter functions replaced with 'compress_' one. 02: .bdrv_co_preadv/pwritev (without _part) removed from the filter. 03: .bdrv_refresh_limits amended. 04: .bdrv_get_info added. 05: In qapi/block-core.json, @compress: Since 5.0 was set. Discussed in the email thread with the message ID <1573488277-794975-1-git-send-email-andrey.shinkev...@virtuozzo.com> Andrey Shinkevich (3): block: introduce compress filter driver qcow2: Allow writing compressed data of multiple clusters tests/qemu-iotests: add case to write compressed data of multiple clusters block/Makefile.objs | 1 + block/filter-compress.c | 201 +++++++++++++++++++++++++++++++++++++++++++++ block/qcow2.c | 102 +++++++++++++++++------ qapi/block-core.json | 10 ++- tests/qemu-iotests/214 | 43 ++++++++++ tests/qemu-iotests/214.out | 14 ++++ 6 files changed, 340 insertions(+), 31 deletions(-) create mode 100644 block/filter-compress.c -- 1.8.3.1