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