1Creating bottom <- middle <- top backing file chain... 2Starting VM... 3=== Testing drive-backup === 4{"execute": "blockdev-add", "arguments": {"driver": "IMGFMT", "file": {"driver": "file", "filename": "TEST_DIR/PID-top"}, "node-name": "drv0"}} 5{"return": {}} 6{"execute": "drive-backup", "arguments": {"device": "drv0", "format": "IMGFMT", "job-id": "job0", "sync": "none", "target": "TEST_DIR/PID-target"}} 7{"return": {}} 8{"execute": "blockdev-del", "arguments": {"node-name": "drv0"}} 9{"error": {"class": "GenericError", "desc": "Node 'drv0' is busy: node is used as backing hd of 'NODE_NAME'"}} 10{"execute": "block-job-cancel", "arguments": {"device": "job0"}} 11{"return": {}} 12{"data": {"device": "job0", "len": 1048576, "offset": 0, "speed": 0, "type": "backup"}, "event": "BLOCK_JOB_CANCELLED", "timestamp": {"microseconds": "USECS", "seconds": "SECS"}} 13{"execute": "blockdev-del", "arguments": {"node-name": "drv0"}} 14{"return": {}} 15 16=== Testing drive-mirror === 17{"execute": "blockdev-add", "arguments": {"driver": "IMGFMT", "file": {"driver": "file", "filename": "TEST_DIR/PID-top"}, "node-name": "drv0"}} 18{"return": {}} 19{"execute": "drive-mirror", "arguments": {"device": "drv0", "format": "IMGFMT", "job-id": "job0", "sync": "none", "target": "TEST_DIR/PID-target"}} 20{"return": {}} 21{"data": {"device": "job0", "len": 0, "offset": 0, "speed": 0, "type": "mirror"}, "event": "BLOCK_JOB_READY", "timestamp": {"microseconds": "USECS", "seconds": "SECS"}} 22{"execute": "blockdev-del", "arguments": {"node-name": "drv0"}} 23{"error": {"class": "GenericError", "desc": "Node 'drv0' is busy: block device is in use by block job: mirror"}} 24{"execute": "block-job-cancel", "arguments": {"device": "job0"}} 25{"return": {}} 26{"data": {"device": "job0", "len": 0, "offset": 0, "speed": 0, "type": "mirror"}, "event": "BLOCK_JOB_COMPLETED", "timestamp": {"microseconds": "USECS", "seconds": "SECS"}} 27{"execute": "blockdev-del", "arguments": {"node-name": "drv0"}} 28{"return": {}} 29 30=== Testing active block-commit === 31{"execute": "blockdev-add", "arguments": {"driver": "IMGFMT", "file": {"driver": "file", "filename": "TEST_DIR/PID-top"}, "node-name": "drv0"}} 32{"return": {}} 33{"execute": "block-commit", "arguments": {"device": "drv0", "job-id": "job0"}} 34{"return": {}} 35{"data": {"device": "job0", "len": 0, "offset": 0, "speed": 0, "type": "commit"}, "event": "BLOCK_JOB_READY", "timestamp": {"microseconds": "USECS", "seconds": "SECS"}} 36{"execute": "blockdev-del", "arguments": {"node-name": "drv0"}} 37{"error": {"class": "GenericError", "desc": "Node 'drv0' is busy: block device is in use by block job: commit"}} 38{"execute": "block-job-cancel", "arguments": {"device": "job0"}} 39{"return": {}} 40{"data": {"device": "job0", "len": 0, "offset": 0, "speed": 0, "type": "commit"}, "event": "BLOCK_JOB_COMPLETED", "timestamp": {"microseconds": "USECS", "seconds": "SECS"}} 41{"execute": "blockdev-del", "arguments": {"node-name": "drv0"}} 42{"return": {}} 43 44=== Testing non-active block-commit === 45{"execute": "blockdev-add", "arguments": {"driver": "IMGFMT", "file": {"driver": "file", "filename": "TEST_DIR/PID-top"}, "node-name": "drv0"}} 46{"return": {}} 47{"execute": "block-commit", "arguments": {"device": "drv0", "job-id": "job0", "speed": 1, "top": "TEST_DIR/PID-middle"}} 48{"return": {}} 49{"execute": "blockdev-del", "arguments": {"node-name": "drv0"}} 50{"error": {"class": "GenericError", "desc": "Node 'drv0' is busy: block device is in use by block job: commit"}} 51{"execute": "block-job-cancel", "arguments": {"device": "job0"}} 52{"return": {}} 53{"data": {"device": "job0", "len": 1048576, "offset": 524288, "speed": 1, "type": "commit"}, "event": "BLOCK_JOB_CANCELLED", "timestamp": {"microseconds": "USECS", "seconds": "SECS"}} 54{"execute": "blockdev-del", "arguments": {"node-name": "drv0"}} 55{"return": {}} 56 57=== Testing block-stream === 58{"execute": "blockdev-add", "arguments": {"driver": "IMGFMT", "file": {"driver": "file", "filename": "TEST_DIR/PID-top"}, "node-name": "drv0"}} 59{"return": {}} 60{"execute": "block-stream", "arguments": {"device": "drv0", "job-id": "job0", "speed": 1}} 61{"return": {}} 62{"execute": "blockdev-del", "arguments": {"node-name": "drv0"}} 63{"error": {"class": "GenericError", "desc": "Node 'drv0' is busy: block device is in use by block job: stream"}} 64{"execute": "block-job-cancel", "arguments": {"device": "job0"}} 65{"return": {}} 66{"data": {"device": "job0", "len": 1048576, "offset": 524288, "speed": 1, "type": "stream"}, "event": "BLOCK_JOB_CANCELLED", "timestamp": {"microseconds": "USECS", "seconds": "SECS"}} 67{"execute": "blockdev-del", "arguments": {"node-name": "drv0"}} 68{"return": {}} 69 70