qcow2_format.py: support dumping metadata in JSON format
commit4edcca57412d2b54537b4fc2b10ebfa1b920192c
authorAndrey Shinkevich <andrey.shinkevich@virtuozzo.com>
Thu, 6 Aug 2020 19:35:56 +0000 (6 22:35 +0300)
committerEric Blake <eblake@redhat.com>
Fri, 21 Aug 2020 13:56:09 +0000 (21 08:56 -0500)
treeadc1a6703e58f5a74a22eb269e61108ab08942e1
parentb4e927799cf4a75e4432ab9e94d8f74e906a149b
qcow2_format.py: support dumping metadata in JSON format

Implementation of dumping QCOW2 image metadata.
The sample output:
{
    "Header_extensions": [
        {
            "name": "Feature table",
            "magic": 1745090647,
            "length": 192,
            "data_str": "<binary>"
        },
        {
            "name": "Bitmaps",
            "magic": 595929205,
            "length": 24,
            "data": {
                "nb_bitmaps": 2,
                "reserved32": 0,
                "bitmap_directory_size": 64,
                "bitmap_directory_offset": 1048576,
                "bitmap_directory": [
                    {
                        "name": "bitmap-1",
                        "bitmap_table_offset": 589824,
                        "bitmap_table_size": 1,
                        "flags": 2,
                        "type": 1,
                        "granularity_bits": 15,
                        "name_size": 8,
                        "extra_data_size": 0,
                        "bitmap_table": [
                            {
                                "type": "serialized",
                                "offset": 655360
                            },
                            ...

Suggested-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Signed-off-by: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <1596742557-320265-11-git-send-email-andrey.shinkevich@virtuozzo.com>
Signed-off-by: Eric Blake <eblake@redhat.com>
tests/qemu-iotests/qcow2_format.py