QA output created by 273
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=67108864
Formatting 'TEST_DIR/t.IMGFMT.mid', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.mid backing_fmt=IMGFMT
Testing: -blockdev file,node-name=base,filename=TEST_DIR/t.IMGFMT.base -blockdev file,node-name=midf,filename=TEST_DIR/t.IMGFMT.mid -blockdev {"driver":"IMGFMT","node-name":"mid","file":"midf","backing":null} -blockdev file,node-name=topf,filename=TEST_DIR/t.IMGFMT -blockdev {"driver":"IMGFMT","file":"topf","node-name":"top","backing":null}
{
    QMP_VERSION
}
{
    "return": {
    }
}
{
    "return": {
    }
}
{
    "return": {
    }
}
{
    "return": [
        {
            "iops_rd": 0,
            "detect_zeroes": "off",
            "image": {
                "backing-image": {
                    "backing-image": {
                        "virtual-size": 197120,
                        "filename": "TEST_DIR/t.IMGFMT.base",
                        "format": "file",
                        "actual-size": SIZE,
                        "dirty-flag": false
                    },
                    "backing-filename-format": "IMGFMT",
                    "virtual-size": 67108864,
                    "filename": "TEST_DIR/t.IMGFMT.mid",
                    "cluster-size": 65536,
                    "format": "IMGFMT",
                    "actual-size": SIZE,
                    "full-backing-filename": "TEST_DIR/t.IMGFMT.base",
                    "backing-filename": "TEST_DIR/t.IMGFMT.base",
                    "dirty-flag": false
                },
                "backing-filename-format": "IMGFMT",
                "virtual-size": 67108864,
                "filename": "TEST_DIR/t.IMGFMT",
                "cluster-size": 65536,
                "format": "IMGFMT",
                "actual-size": SIZE,
                "full-backing-filename": "TEST_DIR/t.IMGFMT.mid",
                "backing-filename": "TEST_DIR/t.IMGFMT.mid",
                "dirty-flag": false
            },
            "iops_wr": 0,
            "ro": false,
            "node-name": "top",
            "backing_file_depth": 2,
            "drv": "IMGFMT",
            "iops": 0,
            "bps_wr": 0,
            "write_threshold": 0,
            "backing_file": "TEST_DIR/t.IMGFMT.mid",
            "encrypted": false,
            "bps": 0,
            "bps_rd": 0,
            "cache": {
                "no-flush": false,
                "direct": false,
                "writeback": true
            },
            "file": "TEST_DIR/t.IMGFMT"
        },
        {
            "iops_rd": 0,
            "detect_zeroes": "off",
            "image": {
                "virtual-size": 197120,
                "filename": "TEST_DIR/t.IMGFMT",
                "format": "file",
                "actual-size": SIZE,
                "dirty-flag": false
            },
            "iops_wr": 0,
            "ro": false,
            "node-name": "topf",
            "backing_file_depth": 0,
            "drv": "file",
            "iops": 0,
            "bps_wr": 0,
            "write_threshold": 0,
            "encrypted": false,
            "bps": 0,
            "bps_rd": 0,
            "cache": {
                "no-flush": false,
                "direct": false,
                "writeback": true
            },
            "file": "TEST_DIR/t.IMGFMT"
        },
        {
            "iops_rd": 0,
            "detect_zeroes": "off",
            "image": {
                "backing-image": {
                    "virtual-size": 197120,
                    "filename": "TEST_DIR/t.IMGFMT.base",
                    "format": "file",
                    "actual-size": SIZE,
                    "dirty-flag": false
                },
                "backing-filename-format": "IMGFMT",
                "virtual-size": 67108864,
                "filename": "TEST_DIR/t.IMGFMT.mid",
                "cluster-size": 65536,
                "format": "IMGFMT",
                "actual-size": SIZE,
                "full-backing-filename": "TEST_DIR/t.IMGFMT.base",
                "backing-filename": "TEST_DIR/t.IMGFMT.base",
                "dirty-flag": false
            },
            "iops_wr": 0,
            "ro": true,
            "node-name": "mid",
            "backing_file_depth": 1,
            "drv": "IMGFMT",
            "iops": 0,
            "bps_wr": 0,
            "write_threshold": 0,
            "backing_file": "TEST_DIR/t.IMGFMT.base",
            "encrypted": false,
            "bps": 0,
            "bps_rd": 0,
            "cache": {
                "no-flush": false,
                "direct": false,
                "writeback": true
            },
            "file": "TEST_DIR/t.IMGFMT.mid"
        },
        {
            "iops_rd": 0,
            "detect_zeroes": "off",
            "image": {
                "virtual-size": 197120,
                "filename": "TEST_DIR/t.IMGFMT.mid",
                "format": "file",
                "actual-size": SIZE,
                "dirty-flag": false
            },
            "iops_wr": 0,
            "ro": false,
            "node-name": "midf",
            "backing_file_depth": 0,
            "drv": "file",
            "iops": 0,
            "bps_wr": 0,
            "write_threshold": 0,
            "encrypted": false,
            "bps": 0,
            "bps_rd": 0,
            "cache": {
                "no-flush": false,
                "direct": false,
                "writeback": true
            },
            "file": "TEST_DIR/t.IMGFMT.mid"
        },
        {
            "iops_rd": 0,
            "detect_zeroes": "off",
            "image": {
                "virtual-size": 197120,
                "filename": "TEST_DIR/t.IMGFMT.base",
                "format": "file",
                "actual-size": SIZE,
                "dirty-flag": false
            },
            "iops_wr": 0,
            "ro": true,
            "node-name": "base",
            "backing_file_depth": 0,
            "drv": "file",
            "iops": 0,
            "bps_wr": 0,
            "write_threshold": 0,
            "encrypted": false,
            "bps": 0,
            "bps_rd": 0,
            "cache": {
                "no-flush": false,
                "direct": false,
                "writeback": true
            },
            "file": "TEST_DIR/t.IMGFMT.base"
        }
    ]
}
{
    "return": {
        "edges": [
            {
                "name": "file",
                "parent": 5,
                "shared-perm": [
                    "write-unchanged",
                    "consistent-read"
                ],
                "perm": [
                    "resize",
                    "write",
                    "consistent-read"
                ],
                "child": 4
            },
            {
                "name": "backing",
                "parent": 5,
                "shared-perm": [
                    "resize",
                    "write-unchanged",
                    "write",
                    "consistent-read"
                ],
                "perm": [
                ],
                "child": 3
            },
            {
                "name": "file",
                "parent": 3,
                "shared-perm": [
                    "write-unchanged",
                    "consistent-read"
                ],
                "perm": [
                    "consistent-read"
                ],
                "child": 2
            },
            {
                "name": "backing",
                "parent": 3,
                "shared-perm": [
                    "resize",
                    "write-unchanged",
                    "write",
                    "consistent-read"
                ],
                "perm": [
                ],
                "child": 1
            }
        ],
        "nodes": [
            {
                "name": "top",
                "type": "block-driver",
                "id": 5
            },
            {
                "name": "topf",
                "type": "block-driver",
                "id": 4
            },
            {
                "name": "mid",
                "type": "block-driver",
                "id": 3
            },
            {
                "name": "midf",
                "type": "block-driver",
                "id": 2
            },
            {
                "name": "base",
                "type": "block-driver",
                "id": 1
            }
        ]
    }
}
{
    "return": {
    }
}
{
    "timestamp": {
        "seconds":  TIMESTAMP,
        "microseconds":  TIMESTAMP
    },
    "event": "SHUTDOWN",
    "data": {
        "guest": false,
        "reason": "host-qmp-quit"
    }
}

*** done
