mbox series

[v9,00/10] iotests: Dump QCOW2 dirty bitmaps metadata

Message ID 1594625276-134500-1-git-send-email-andrey.shinkevich@virtuozzo.com (mailing list archive)
Headers show
Series iotests: Dump QCOW2 dirty bitmaps metadata | expand

Message

Andrey Shinkevich July 13, 2020, 7:27 a.m. UTC
Add dirty bitmap information to QCOW2 metadata dump in the qcow2_format.py.

v9:
  01: In patch 0003, removed explicit constructor in the class Qcow2BitmapExt.
  02: In patch 0004, the format string was changed.
 

Andrey Shinkevich (10):
  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: support dumping metadata in JSON format

 block/qcow2.c                      |   2 +-
 docs/interop/qcow2.txt             |   2 +-
 tests/qemu-iotests/291.out         |  90 ++++++++++++++++
 tests/qemu-iotests/qcow2.py        |  19 +++-
 tests/qemu-iotests/qcow2_format.py | 213 ++++++++++++++++++++++++++++++++++---
 5 files changed, 304 insertions(+), 22 deletions(-)

Comments

Eric Blake July 13, 2020, 12:41 p.m. UTC | #1
On 7/13/20 2:27 AM, Andrey Shinkevich wrote:
> Add dirty bitmap information to QCOW2 metadata dump in the qcow2_format.py.
> 
> v9:
>    01: In patch 0003, removed explicit constructor in the class Qcow2BitmapExt.
>    02: In patch 0004, the format string was changed.
>   
> 
> Andrey Shinkevich (10):
>    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: support dumping metadata in JSON format
> 
>   block/qcow2.c                      |   2 +-
>   docs/interop/qcow2.txt             |   2 +-
>   tests/qemu-iotests/291.out         |  90 ++++++++++++++++

Test 291 no longer outputs bitmap metadata (see commit 24b861c038); 
which means your patches to 291.out don't make sense.  You'll want to 
respin this to follow the advice in that commit of having a separate 
iotest just for qcow2.py output testing.
Andrey Shinkevich July 13, 2020, 12:52 p.m. UTC | #2
On 13.07.2020 15:41, Eric Blake wrote:
> On 7/13/20 2:27 AM, Andrey Shinkevich wrote:
>> Add dirty bitmap information to QCOW2 metadata dump in the 
>> qcow2_format.py.
>>
>> v9:
>>    01: In patch 0003, removed explicit constructor in the class 
>> Qcow2BitmapExt.
>>    02: In patch 0004, the format string was changed.
>>
>> Andrey Shinkevich (10):
>>    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: support dumping metadata in JSON format
>>
>>   block/qcow2.c                      |   2 +-
>>   docs/interop/qcow2.txt             |   2 +-
>>   tests/qemu-iotests/291.out         |  90 ++++++++++++++++
>
> Test 291 no longer outputs bitmap metadata (see commit 24b861c038); 
> which means your patches to 291.out don't make sense.  You'll want to 
> respin this to follow the advice in that commit of having a separate 
> iotest just for qcow2.py output testing.
>
I noted that #291 fails in the main stream branch and was not able to 
test my patch to 291.out with that. I will take a close look at the 
commit 24b861c038, thank you.

Andrey