New enhancements for writing compressed data to QCOW2 image. v5: The new iotests cases were amended and 'qiov_offset' parameter value in the function bdrv_driver_pwritev_compressed() invoked from the bdrv_co_do_copy_on_readv() fixed to 0. Discussed on the email thread with ID: <1571243333-882302-1-git-send-email-andrey.shinkev...@virtuozzo.com>
v4: The 'compression' support at the block generic layer has been accumulated in the separate patch 1/4. A little code refactoring was made. v3: Instead of introducing multiple key options for many drivers, the 'compression' option has been introduced at the block generic layer as suggested by Roman Kagan. Discussed on the email thread with ID <1570026166-748566-1-git-send-email-andrey.shinkev...@virtuozzo.com> Andrey Shinkevich (4): block: support compressed write at generic layer qcow2: Allow writing compressed data of multiple clusters tests/qemu-iotests: add case to write compressed data of multiple clusters tests/qemu-iotests: add case for block-stream compress block.c | 20 ++++++++- block/io.c | 13 ++++-- block/qcow2.c | 106 +++++++++++++++++++++++++++++++++------------ blockdev.c | 9 +++- include/block/block.h | 1 + include/block/block_int.h | 2 + qapi/block-core.json | 5 ++- qemu-options.hx | 6 ++- tests/qemu-iotests/030 | 34 ++++++++++++++- tests/qemu-iotests/030.out | 4 +- tests/qemu-iotests/214 | 45 +++++++++++++++++++ tests/qemu-iotests/214.out | 14 ++++++ 12 files changed, 220 insertions(+), 39 deletions(-) -- 1.8.3.1