[HMP] Before `block-commit` --------------------------- (qemu) info block virtio0 (#block2287): d.qcow2 (qcow2) Cache mode: writeback Backing file: c.qcow2 (chain depth: 3) [QMP] Perform active block commit on the 'qmp-shell' --------------------------------------------------- Given the chain [A] <- [B] <- [C] <- [D] We're committing the contents of images [B], [C], [D] into [A]: (QEMU) block-commit device=virtio0 base=disk1.qcow2 top=d.qcow2 job-id=job0 { "execute": "block-commit", "arguments": { "device": "virtio0", "job-id": "job0", "top": "d.qcow2", "base": "disk1.qcow2" } } { "return": {} } (QEMU) {u'timestamp': {u'seconds': 1495720462, u'microseconds': 252778}, u'data': {u'device': u'job0', u'type': u'commit', u'speed': 0, u'len': 786432, u'offset': 786432}, u'event': u'BLOCK_JOB_READY'} (QEMU) [HMP] After `block-commit` -------------------------- *Observation*: Notice how it says 'd' *itself* is the backing file of 'd', which is meaningless. (qemu) info block virtio0 (#block2323): d.qcow2 (mirror_top) Cache mode: writeback Backing file: d.qcow2 (chain depth: 4) (qemu) [QMP] Version ------------- (QEMU) query-version { "execute": "query-version", "arguments": {} } { "return": { "qemu": { "micro": 50, "major": 2, "minor": 9 }, "package": " (v2.9.0-557-g0e17187-dirty)" }