1=== Launch VM === 2Enabling migration QMP events on VM... 3{"return": {}} 4 5=== Migrate to file === 6{"execute": "migrate", "arguments": {"uri": "exec:cat > /dev/null"}} 7{"return": {}} 8{"data": {"status": "setup"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "seconds": "SECS"}} 9{"data": {"status": "active"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "seconds": "SECS"}} 10{"data": {"status": "completed"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "seconds": "SECS"}} 11 12VM is now stopped: 13completed 14{"execute": "query-status", "arguments": {}} 15{"return": {"running": false, "singlestep": false, "status": "postmigrate"}} 16 17=== Create a snapshot of the disk image === 18{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filename": "TEST_DIR/PID-top", "size": 0}}} 19{"return": {}} 20{"execute": "job-dismiss", "arguments": {"id": "job0"}} 21{"return": {}} 22 23{"execute": "blockdev-add", "arguments": {"driver": "file", "filename": "TEST_DIR/PID-top", "node-name": "top-file"}} 24{"return": {}} 25{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "qcow2", "file": "top-file", "size": 1048576}}} 26{"return": {}} 27{"execute": "job-dismiss", "arguments": {"id": "job0"}} 28{"return": {}} 29 30{"execute": "blockdev-add", "arguments": {"driver": "qcow2", "file": "top-file", "node-name": "top-fmt"}} 31{"return": {}} 32{"execute": "blockdev-snapshot", "arguments": {"node": "base-fmt", "overlay": "top-fmt"}} 33{"return": {}} 34 35=== Resume the VM and simulate a write request === 36{"execute": "cont", "arguments": {}} 37{"return": {}} 38{"return": ""} 39 40=== Commit it to the backing file === 41{"execute": "block-commit", "arguments": {"auto-dismiss": false, "device": "top-fmt", "job-id": "job0", "top-node": "top-fmt"}} 42{"return": {}} 43{"execute": "job-complete", "arguments": {"id": "job0"}} 44{"return": {}} 45{"data": {"device": "job0", "len": 65536, "offset": 65536, "speed": 0, "type": "commit"}, "event": "BLOCK_JOB_READY", "timestamp": {"microseconds": "USECS", "seconds": "SECS"}} 46{"data": {"device": "job0", "len": 65536, "offset": 65536, "speed": 0, "type": "commit"}, "event": "BLOCK_JOB_COMPLETED", "timestamp": {"microseconds": "USECS", "seconds": "SECS"}} 47{"execute": "job-dismiss", "arguments": {"id": "job0"}} 48{"return": {}} 49