All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [RFC 1/1] qcow2: add ZSTD compression feature
@ 2017-03-23 13:28 Denis V. Lunev
  2017-03-23 14:17 ` Eric Blake
  0 siblings, 1 reply; 6+ messages in thread
From: Denis V. Lunev @ 2017-03-23 13:28 UTC (permalink / raw)
  To: qemu-devel
  Cc: Denis V. Lunev, Kevin Wolf, Max Reitz, Stefan Hajnoczi, Fam Zheng

ZSDT compression algorithm consumes 3-5 times less CPU power with a
comparable comression ratio with zlib. It would be wise to use it for
data compression f.e. for backups.

The patch adds incompatible ZSDT feature into QCOW2 header that indicates
that compressed clusters must be decoded using ZSTD.

Signed-off-by: Denis V. Lunev <den@openvz.org>
CC: Kevin Wolf <kwolf@redhat.com>
CC: Max Reitz <mreitz@redhat.com>
CC: Stefan Hajnoczi <stefanha@redhat.com>
CC: Fam Zheng <famz@redhat.com>
---
Actually this is very straightforward. May be we should implement 2 stage
scheme, i.e. add bit that indicates presence of the "compression
extension", which will actually define the compression algorithm. Though
at my opinion we will not have too many compression algorithms and proposed
one tier scheme is good enough.

 docs/specs/qcow2.txt | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/docs/specs/qcow2.txt b/docs/specs/qcow2.txt
index 80cdfd0..eb5c41b 100644
--- a/docs/specs/qcow2.txt
+++ b/docs/specs/qcow2.txt
@@ -85,7 +85,10 @@ in the description of a field.
                                 be written to (unless for regaining
                                 consistency).
 
-                    Bits 2-63:  Reserved (set to 0)
+                    Bits 2:     ZSDT compression bit. ZSDT algorithm is used
+                                for cluster compression/decompression.
+
+                    Bits 3-63:  Reserved (set to 0)
 
          80 -  87:  compatible_features
                     Bitmask of compatible features. An implementation can
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-03-24  6:24 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-23 13:28 [Qemu-devel] [RFC 1/1] qcow2: add ZSTD compression feature Denis V. Lunev
2017-03-23 14:17 ` Eric Blake
2017-03-23 15:04   ` Kevin Wolf
2017-03-23 15:35     ` Denis V. Lunev
2017-03-23 21:20       ` Kevin Wolf
2017-03-24  6:24         ` Denis V. Lunev

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.