mbox series

[v11,00/11] iotests: Dump QCOW2 dirty bitmaps metadata

Message ID 1594973699-781898-1-git-send-email-andrey.shinkevich@virtuozzo.com
Headers show
Series iotests: Dump QCOW2 dirty bitmaps metadata | expand

Message

Andrey Shinkevich July 17, 2020, 8:14 a.m. UTC
Add dirty bitmap information to QCOW2 metadata dump in the qcow2_format.py.

v10:
  01: Fixing of issues in QCOW2 extension classes noted by Vladimir.
  02: Reading bitmap tables was moved into Qcow2BitmapTable class.
  03: Handling '-j' key was moved into "if __name__" section.
  04: Making copy of __dict__ was replaced with the method to_dict().
  05: Qcow2HeaderExtensionsDoc is introduced in the separate patch.

Andrey Shinkevich (11):
  qcow2: Fix capitalization of header extension constant.
  qcow2_format.py: make printable data an extension class member
  qcow2_format.py: change Qcow2BitmapExt initialization method
  qcow2_format.py: dump bitmap flags in human readable way.
  qcow2_format.py: Dump bitmap directory information
  qcow2_format.py: pass cluster size to substructures
  qcow2_format.py: Dump bitmap table serialized entries
  qcow2.py: Introduce '-j' key to dump in JSON format
  qcow2_format.py: collect fields to dump in JSON format
  qcow2_format.py: introduce Qcow2HeaderExtensionsDoc class
  qcow2_format.py: support dumping metadata in JSON format

 block/qcow2.c                      |   2 +-
 docs/interop/qcow2.txt             |   2 +-
 tests/qemu-iotests/qcow2.py        |  18 ++-
 tests/qemu-iotests/qcow2_format.py | 221 ++++++++++++++++++++++++++++++++++---
 4 files changed, 220 insertions(+), 23 deletions(-)

Comments

Eric Blake July 23, 2020, 7:42 p.m. UTC | #1
On 7/17/20 3:14 AM, Andrey Shinkevich wrote:
> Add dirty bitmap information to QCOW2 metadata dump in the qcow2_format.py.
> 
> v10:
>    01: Fixing of issues in QCOW2 extension classes noted by Vladimir.
>    02: Reading bitmap tables was moved into Qcow2BitmapTable class.
>    03: Handling '-j' key was moved into "if __name__" section.
>    04: Making copy of __dict__ was replaced with the method to_dict().
>    05: Qcow2HeaderExtensionsDoc is introduced in the separate patch.
> 
> Andrey Shinkevich (11):
>    qcow2: Fix capitalization of header extension constant.
>    qcow2_format.py: make printable data an extension class member
>    qcow2_format.py: change Qcow2BitmapExt initialization method
>    qcow2_format.py: dump bitmap flags in human readable way.
>    qcow2_format.py: Dump bitmap directory information
>    qcow2_format.py: pass cluster size to substructures
>    qcow2_format.py: Dump bitmap table serialized entries
>    qcow2.py: Introduce '-j' key to dump in JSON format
>    qcow2_format.py: collect fields to dump in JSON format
>    qcow2_format.py: introduce Qcow2HeaderExtensionsDoc class
>    qcow2_format.py: support dumping metadata in JSON format
> 
>   block/qcow2.c                      |   2 +-
>   docs/interop/qcow2.txt             |   2 +-
>   tests/qemu-iotests/qcow2.py        |  18 ++-
>   tests/qemu-iotests/qcow2_format.py | 221 ++++++++++++++++++++++++++++++++++---
>   4 files changed, 220 insertions(+), 23 deletions(-)

I still don't see any obvious coverage of the new output, which makes it 
harder to test (I have to manually run qcow2.py on a file rather than 
seeing what changes in a ???.out file).  I know we said back in v9 that 
test 291 is not the right test, but that does not stop you from adding a 
new test just for that purpose.
Eric Blake July 23, 2020, 8:18 p.m. UTC | #2
On 7/23/20 2:42 PM, Eric Blake wrote:
> On 7/17/20 3:14 AM, Andrey Shinkevich wrote:
>> Add dirty bitmap information to QCOW2 metadata dump in the 
>> qcow2_format.py.
>>

>>   block/qcow2.c                      |   2 +-
>>   docs/interop/qcow2.txt             |   2 +-
>>   tests/qemu-iotests/qcow2.py        |  18 ++-
>>   tests/qemu-iotests/qcow2_format.py | 221 
>> ++++++++++++++++++++++++++++++++++---
>>   4 files changed, 220 insertions(+), 23 deletions(-)
> 
> I still don't see any obvious coverage of the new output, which makes it 
> harder to test (I have to manually run qcow2.py on a file rather than 
> seeing what changes in a ???.out file).  I know we said back in v9 that 
> test 291 is not the right test, but that does not stop you from adding a 
> new test just for that purpose.

The bulk of this series is touching a non-installed utility. At this 
point, I feel safer deferring it to 5.2 (it is a feature addition for 
testsuite use only, and we missed soft freeze), even though it has no 
negative impact to installed binaries.
Vladimir Sementsov-Ogievskiy July 24, 2020, 10:50 a.m. UTC | #3
23.07.2020 23:18, Eric Blake wrote:
> On 7/23/20 2:42 PM, Eric Blake wrote:
>> On 7/17/20 3:14 AM, Andrey Shinkevich wrote:
>>> Add dirty bitmap information to QCOW2 metadata dump in the qcow2_format.py.
>>>
> 
>>>   block/qcow2.c                      |   2 +-
>>>   docs/interop/qcow2.txt             |   2 +-
>>>   tests/qemu-iotests/qcow2.py        |  18 ++-
>>>   tests/qemu-iotests/qcow2_format.py | 221 ++++++++++++++++++++++++++++++++++---
>>>   4 files changed, 220 insertions(+), 23 deletions(-)
>>
>> I still don't see any obvious coverage of the new output, which makes it harder to test (I have to manually run qcow2.py on a file rather than seeing what changes in a ???.out file).  I know we said back in v9 that test 291 is not the right test, but that does not stop you from adding a new test just for that purpose.
> 
> The bulk of this series is touching a non-installed utility. At this point, I feel safer deferring it to 5.2 (it is a feature addition for testsuite use only, and we missed soft freeze), even though it has no negative impact to installed binaries.
> 

Yes, it's absolutely OK to defer to 5.2.

Thanks a lot for taking a look at our series!