Hi all! Here is my suggestion to substitute only first three patches :) of Andrey's [PATCH v3 0/6] iotests: Dump QCOW2 dirty bitmaps metadata
so, I called it v4 for convenience. What is here: 1. First, update code style 2. Next, try to refactor in a manner which will make adding new data structures simple (look at Qcow2BitmapExt class in last patch) I think, next step is to add type hints. Then add more structures. And, anyway, at some point we should move it into python/ directory (at least qcow2_format.py lib) Vladimir Sementsov-Ogievskiy (12): qcow2.py: python style fixes qcow2.py: move qcow2 format classes to separate module qcow2_format.py: drop new line printing at end of dump() qcow2_format.py: use tuples instead of lists for fields qcow2_format.py: use modern string formatting qcow2_format.py: use strings to specify c-type of struct fields qcow2_format.py: separate generic functionality of structure classes qcow2_format.py: add field-formatting class qcow2_format.py: QcowHeaderExtension: add dump method qcow2_format: refactor QcowHeaderExtension as a subclass of Qcow2Struct qcow2: QcowHeaderExtension print names for extension magics qcow2_format.py: dump bitmaps header extension tests/qemu-iotests/031.out | 22 +-- tests/qemu-iotests/036.out | 4 +- tests/qemu-iotests/061.out | 14 +- tests/qemu-iotests/291 | 4 + tests/qemu-iotests/291.out | 33 ++++ tests/qemu-iotests/qcow2.py | 200 ++++------------------ tests/qemu-iotests/qcow2_format.py | 260 +++++++++++++++++++++++++++++ 7 files changed, 348 insertions(+), 189 deletions(-) create mode 100644 tests/qemu-iotests/qcow2_format.py -- 2.21.0