mbox series

[v5,0/4] qcow2: advanced compression options

Message ID 1571603828-185910-1-git-send-email-andrey.shinkevich@virtuozzo.com
Headers show
Series qcow2: advanced compression options | expand

Message

Andrey Shinkevich Oct. 20, 2019, 8:37 p.m. UTC
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.shinkevich@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.shinkevich@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(-)