qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v10 2/2] docs: qcow2: introduce compression type feature


From: Vladimir Sementsov-Ogievskiy
Subject: Re: [PATCH v10 2/2] docs: qcow2: introduce compression type feature
Date: Tue, 21 Jan 2020 09:06:12 +0000

20.01.2020 22:46, Eric Blake wrote:
> On 1/20/20 11:13 AM, Vladimir Sementsov-Ogievskiy wrote:
>> The patch add new additional field to qcow2 header: compression_type,
> 
> s/add/adds a/
> s/to/to the/
> 
>> which specifies compression type. If field is absent or zero, default
>> compression type is set: ZLIB, which corresponds to current behavior.
>>
>> New compression type (ZSTD) is to be added in further commit.
> 
> It would be nice to have that patch as part of the same series, but it has 
> already been posted to the list separately, so I'm okay with this series as 
> just doc word-smithing while we get that patch series in soon.
> 
>>
>> Suggested-by: Denis Plotnikov <address@hidden>
>> Signed-off-by: Vladimir Sementsov-Ogievskiy <address@hidden>
>> ---
>>   docs/interop/qcow2.txt | 16 +++++++++++++++-
>>   1 file changed, 15 insertions(+), 1 deletion(-)
>>
>> diff --git a/docs/interop/qcow2.txt b/docs/interop/qcow2.txt
>> index 355925c35e..4569f0dba3 100644
>> --- a/docs/interop/qcow2.txt
>> +++ b/docs/interop/qcow2.txt
>> @@ -109,6 +109,11 @@ the next fields through header_length.
>>                                   An External Data File Name header 
>> extension may
>>                                   be present if this bit is set.
>> +                    Bit 3:      Compression type bit.  If this bit is set,
>> +                                a non-default compression is used for 
>> compressed
>> +                                clusters. The compression_type field must be
>> +                                present and not zero.
> 
> Why must the compression_type field be non-zero?  If this bit is set, an 
> older qemu cannot use the image, regardless of the contents of the 
> compression_type field, so for maximum back-compat, a sane app will never set 
> this bit when compression_type is zero.  But there is nothing technically 
> wrong with setting this bit even when compression_type is 0, and newer qemu 
> would still manage to use the image correctly with zlib compression if it 
> were not for this arbitrary restriction.

OK, I just made it stricter, no actual reason for it. Then:

If this bit is set, the compression type of the image is defined by 
compression_type additional field (which must present in this case).

> 
>> +
>>                       Bits 3-63:  Reserved (set to 0)
>>            80 -  87:  compatible_features
>> @@ -189,7 +194,16 @@ present*, if not altered by a specific incompatible bit.
>>   *. A field is considered not present when header_length is less or equal 
>> to the
>>   field's offset. Also, all additional fields are not present for version 2.
>> -        < ... No additional fields in the header currently ... >
>> +              104:  compression_type
>> +                    Defines the compression method used for compressed 
>> clusters.
>> +                    All compressed clusters in an image use the same 
>> compression
>> +                    type.
>> +                    If the incompatible bit "Compression type" is set: the 
>> field
> 
> Ragged edge formatting looks awkward.  Either this is one paragraph ("type.  
> If") or there should be a blank line to make it obvious there are two 
> paragraphs.

OK, let it be additional empty line. Then we need one before "Defines" too?

> 
>> +                    must be present and non-zero (which means non-zlib
>> +                    compression type). Otherwise, this field must not be 
>> present
>> +                    or must be zero (which means zlib).
>> +                    Available compression type values:
>> +                        0: zlib <https://www.zlib.net/>
> 
> I'm still not sure I agree with the mandate that the field must be non-zero 
> when the incompatible feature bit is set.
> 

I don't care, so let's make it less strict.

-- 
Best regards,
Vladimir



reply via email to

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