qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH V5 04/10] qemu-img: add documentation for compre


From: Eric Blake
Subject: Re: [Qemu-devel] [PATCH V5 04/10] qemu-img: add documentation for compress settings
Date: Tue, 25 Jul 2017 16:34:54 -0500
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1

On 07/25/2017 09:41 AM, Peter Lieven wrote:
> Signed-off-by: Peter Lieven <address@hidden>
> ---
>  qemu-img.texi | 26 ++++++++++++++++++++++++++
>  1 file changed, 26 insertions(+)
> 
> diff --git a/qemu-img.texi b/qemu-img.texi
> index 72dabd6..3612c59 100644
> --- a/qemu-img.texi
> +++ b/qemu-img.texi
> @@ -676,6 +676,32 @@ file which is COW and has data blocks already, it 
> couldn't be changed to NOCOW
>  by setting @code{nocow=on}. One can issue @code{lsattr filename} to check if
>  the NOCOW flag is set or not (Capital 'C' is NOCOW flag).
>  
> address@hidden compress.format
> +Defines which compression algorithm is should be used for compressed 
> clusters.
> +The following options are available if support for the respective libraries
> +has been enabled at compile time:
> +
> +   deflate        Uses standard zlib defalte compression
> +
> +The compression algorithm can only be defined at image create time and cannot
> +be changed later.

We can't change it via 'qemu-img amend'?  Might be an interesting
feature to add later: in-place re-compression to a new algorithm - but
since compression is global to the file, you have to be careful that
aborting the operation in the middle doesn't mix the two compressions.
Or put another way, we have to use at least twice the disk space for all
compressed clusters, and only at the end of things update the headers to
point to the new clusters and away from the old (so that an early abort
just treats all the new clusters as leaked); possibly by amending from
compressed to uncompressed back to compressed.

Oh, and why is 'qemu-img --help' mostly alphabetical, except that
'amend' comes after 'resize'?  Guess I'll do a quickie patch for that.


> +
> +Note: defining compression format settings which are different from the old
> +      default (format=deflate, level=0, window-size=12) will result in the
> +      compression format extension being written to the Qcow2 image. Versions
> +      of QEMU before 2.11 will not be able to open images with this 
> extension.
> +
> address@hidden compress.level
> +Valid for compress.format=deflate defines the compression level to use for
> +selected compression format. The default of @code{compress.level=0} will use
> +the default compression level for the format. Alternate values range from 1 
> for
> +fastest compression to 9 for the best compression.
> +
> address@hidden compress.window-size
> +Valid for compress.format=deflate defines the compression window size used
> +during compression. Valid window sizes for deflate compression range from 8 
> to
> +15 inclusively. The default is @code{compress.window-size=15}.

Maybe emphasize that larger is generally better (smaller exists for the
long-gone days of small machines, and for back-compat usage of 12 in
older qemu).  In fact, if we wanted, we could declare that qcow2's use
of deflate can ONLY use 12 or 15, instead of anything in the range 8-15,
if we though that would be easier to maintain.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]