qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Peter Lieven <pl@kamp.de>
To: qemu-block@nongnu.org
Cc: qemu-devel@nongnu.org, kwolf@redhat.com, lersek@redhat.com,
	den@openvz.org, mreitz@redhat.com, eblake@redhat.com,
	Peter Lieven <pl@kamp.de>
Subject: [Qemu-devel] [PATCH 0/4] block/qcow2: add compression_algorithm create option
Date: Tue, 27 Jun 2017 14:34:06 +0200	[thread overview]
Message-ID: <1498566850-7934-1-git-send-email-pl@kamp.de> (raw)

this adds a create option for QCOW2 images to specify the compression algorithm
for compressed clusters. The series adds 3 algorithms to choose from:
zlib (default), zlib-fast and lzo. zlib-fast optimizes the zlib parameters
without the need for an additional compression library. lzo is choosen
as we already link against it and its widely available. Further
libraries like zstd are in preparation.

Compression time vs. size of an uncompressed Debian 9 QCOW2 image (size 1148MB):

zlib         35.7s     339MB
zlib-fast    12.8s     348MB
lzo          4.2s      429MB

Peter Lieven (4):
  block/qcow2: add compression_algorithm create option
  block/qcow2: optimize qcow2_co_pwritev_compressed
  block/qcow2: add lzo compression algorithm
  block/qcow2: add zlib-fast compression algorithm

 block/qcow2-cluster.c     |  66 ++++++++++------
 block/qcow2.c             | 186 +++++++++++++++++++++++++++++++++++++---------
 block/qcow2.h             |  22 ++++--
 configure                 |   2 +-
 docs/interop/qcow2.txt    |   8 +-
 include/block/block_int.h |  35 ++++-----
 qemu-img.texi             |  12 +++
 7 files changed, 251 insertions(+), 80 deletions(-)

-- 
1.9.1

             reply	other threads:[~2017-06-27 12:34 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-27 12:34 Peter Lieven [this message]
2017-06-27 12:34 ` [Qemu-devel] [PATCH 1/4] block/qcow2: add compression_algorithm create option Peter Lieven
2017-06-27 12:49   ` Eric Blake
2017-06-27 14:49     ` Peter Lieven
2017-06-27 15:04       ` Eric Blake
2017-06-27 15:11         ` Peter Lieven
2017-06-27 15:13           ` Peter Lieven
2017-07-03 19:45         ` Peter Lieven
2017-06-27 13:20   ` Daniel P. Berrange
2017-06-27 13:27     ` Peter Lieven
2017-06-28 14:50       ` Denis V. Lunev
2017-06-28 14:54   ` Denis V. Lunev
2017-06-27 12:34 ` [Qemu-devel] [PATCH 2/4] block/qcow2: optimize qcow2_co_pwritev_compressed Peter Lieven
2017-06-27 12:34 ` [Qemu-devel] [PATCH 3/4] block/qcow2: add lzo compression algorithm Peter Lieven
2017-06-27 12:34 ` [Qemu-devel] [PATCH 4/4] block/qcow2: add zlib-fast " Peter Lieven
2017-06-27 12:53   ` Eric Blake
2017-06-27 13:14     ` Peter Lieven
2017-06-27 13:16   ` Daniel P. Berrange
2017-06-27 13:23     ` Peter Lieven
2017-06-27 13:46       ` Daniel P. Berrange

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1498566850-7934-1-git-send-email-pl@kamp.de \
    --to=pl@kamp.de \
    --cc=den@openvz.org \
    --cc=eblake@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=lersek@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).