7be2025258
Now that the implementation of subclusters is complete we can finally add the necessary options to create and read images with this feature, which we call "extended L2 entries". Signed-off-by: Alberto Garcia <berto@igalia.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Max Reitz <mreitz@redhat.com> Message-Id: <6476caaa73216bd05b7bb2d504a20415e1665176.1594396418.git.berto@igalia.com> [mreitz: %s/5\.1/5.2/; fixed 302's and 303's reference output] Signed-off-by: Max Reitz <mreitz@redhat.com>
51 lines
2.4 KiB
Plaintext
51 lines
2.4 KiB
Plaintext
Formatting 'TEST_DIR/PID-base', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=67108864 lazy_refcounts=off refcount_bits=16
|
|
|
|
=== Launch VM ===
|
|
Enabling migration QMP events on VM...
|
|
{"return": {}}
|
|
|
|
=== Migrate to file ===
|
|
{"execute": "migrate", "arguments": {"uri": "exec:cat > /dev/null"}}
|
|
{"return": {}}
|
|
{"data": {"status": "setup"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "seconds": "SECS"}}
|
|
{"data": {"status": "active"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "seconds": "SECS"}}
|
|
{"data": {"status": "completed"}, "event": "MIGRATION", "timestamp": {"microseconds": "USECS", "seconds": "SECS"}}
|
|
|
|
VM is now stopped:
|
|
completed
|
|
{"execute": "query-status", "arguments": {}}
|
|
{"return": {"running": false, "singlestep": false, "status": "postmigrate"}}
|
|
|
|
=== Create a snapshot of the disk image ===
|
|
{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "file", "filename": "TEST_DIR/PID-top", "size": 0}}}
|
|
{"return": {}}
|
|
{"execute": "job-dismiss", "arguments": {"id": "job0"}}
|
|
{"return": {}}
|
|
|
|
{"execute": "blockdev-add", "arguments": {"driver": "file", "filename": "TEST_DIR/PID-top", "node-name": "top-file"}}
|
|
{"return": {}}
|
|
{"execute": "blockdev-create", "arguments": {"job-id": "job0", "options": {"driver": "qcow2", "file": "top-file", "size": 1048576}}}
|
|
{"return": {}}
|
|
{"execute": "job-dismiss", "arguments": {"id": "job0"}}
|
|
{"return": {}}
|
|
|
|
{"execute": "blockdev-add", "arguments": {"driver": "qcow2", "file": "top-file", "node-name": "top-fmt"}}
|
|
{"return": {}}
|
|
{"execute": "blockdev-snapshot", "arguments": {"node": "base-fmt", "overlay": "top-fmt"}}
|
|
{"return": {}}
|
|
|
|
=== Resume the VM and simulate a write request ===
|
|
{"execute": "cont", "arguments": {}}
|
|
{"return": {}}
|
|
{"return": ""}
|
|
|
|
=== Commit it to the backing file ===
|
|
{"execute": "block-commit", "arguments": {"auto-dismiss": false, "device": "top-fmt", "job-id": "job0", "top-node": "top-fmt"}}
|
|
{"return": {}}
|
|
{"execute": "job-complete", "arguments": {"id": "job0"}}
|
|
{"return": {}}
|
|
{"data": {"device": "job0", "len": 65536, "offset": 65536, "speed": 0, "type": "commit"}, "event": "BLOCK_JOB_READY", "timestamp": {"microseconds": "USECS", "seconds": "SECS"}}
|
|
{"data": {"device": "job0", "len": 65536, "offset": 65536, "speed": 0, "type": "commit"}, "event": "BLOCK_JOB_COMPLETED", "timestamp": {"microseconds": "USECS", "seconds": "SECS"}}
|
|
{"execute": "job-dismiss", "arguments": {"id": "job0"}}
|
|
{"return": {}}
|