from iotests import imgfmt
-def blockdev_create(vm, options):
- result = vm.qmp_log('blockdev-create', job_id='job0', options=options,
- filters=[iotests.filter_qmp_testfiles])
-
- if 'return' in result:
- assert result['return'] == {}
- vm.run_job('job0')
-
-
# Successful image creation (defaults)
def implicit_defaults(vm, file_path):
iotests.log("=== Successful image creation (defaults) ===")
# (Close to 64 MB)
size = 8 * 964 * 17 * 512
- blockdev_create(vm, { 'driver': imgfmt,
- 'file': 'protocol-node',
- 'size': size })
+ vm.blockdev_create({ 'driver': imgfmt,
+ 'file': 'protocol-node',
+ 'size': size })
# Successful image creation (explicit defaults)
# (Close to 128 MB)
size = 16 * 964 * 17 * 512
- blockdev_create(vm, { 'driver': imgfmt,
- 'file': 'protocol-node',
- 'size': size,
- 'subformat': 'dynamic',
- 'force-size': False })
+ vm.blockdev_create({ 'driver': imgfmt,
+ 'file': 'protocol-node',
+ 'size': size,
+ 'subformat': 'dynamic',
+ 'force-size': False })
# Successful image creation (non-default options)
# Not representable in CHS (fine with force-size=True)
size = 1048576
- blockdev_create(vm, { 'driver': imgfmt,
- 'file': 'protocol-node',
- 'size': size,
- 'subformat': 'fixed',
- 'force-size': True })
+ vm.blockdev_create({ 'driver': imgfmt,
+ 'file': 'protocol-node',
+ 'size': size,
+ 'subformat': 'fixed',
+ 'force-size': True })
# Size not representable in CHS with force-size=False
# Not representable in CHS (will not work with force-size=False)
size = 1048576
- blockdev_create(vm, { 'driver': imgfmt,
- 'file': 'protocol-node',
- 'size': size,
- 'force-size': False })
+ vm.blockdev_create({ 'driver': imgfmt,
+ 'file': 'protocol-node',
+ 'size': size,
+ 'force-size': False })
# Zero size
iotests.log("=== Zero size===")
iotests.log("")
- blockdev_create(vm, { 'driver': imgfmt,
- 'file': 'protocol-node',
- 'size': 0 })
+ vm.blockdev_create({ 'driver': imgfmt,
+ 'file': 'protocol-node',
+ 'size': 0 })
# Maximum CHS size
iotests.log("=== Maximum CHS size===")
iotests.log("")
- blockdev_create(vm, { 'driver': imgfmt,
- 'file': 'protocol-node',
- 'size': 16 * 65535 * 255 * 512 })
+ vm.blockdev_create({ 'driver': imgfmt,
+ 'file': 'protocol-node',
+ 'size': 16 * 65535 * 255 * 512 })
# Actual maximum size
iotests.log("=== Actual maximum size===")
iotests.log("")
- blockdev_create(vm, { 'driver': imgfmt,
- 'file': 'protocol-node',
- 'size': 0xff000000 * 512,
- 'force-size': True })
+ vm.blockdev_create({ 'driver': imgfmt,
+ 'file': 'protocol-node',
+ 'size': 0xff000000 * 512,
+ 'force-size': True })
def main():
vm.launch()
iotests.log('--- Creating empty file ---')
- blockdev_create(vm, { 'driver': 'file',
- 'filename': file_path,
- 'size': 0 })
+ vm.blockdev_create({ 'driver': 'file',
+ 'filename': file_path,
+ 'size': 0 })
vm.qmp_log('blockdev-add', driver='file', filename=file_path,
node_name='protocol-node',
{"return": {}}
{"execute": "job-dismiss", "arguments": {"id": "job0"}}
{"return": {}}
+
{"execute": "blockdev-add", "arguments": {"driver": "file", "filename": "TEST_DIR/PID-t.vpc", "node-name": "protocol-node"}}
{"return": {}}
{"execute": "job-dismiss", "arguments": {"id": "job0"}}
{"return": {}}
+
image: TEST_IMG
file format: IMGFMT
virtual size: 64 MiB (67125248 bytes)
{"return": {}}
{"execute": "job-dismiss", "arguments": {"id": "job0"}}
{"return": {}}
+
{"execute": "blockdev-add", "arguments": {"driver": "file", "filename": "TEST_DIR/PID-t.vpc", "node-name": "protocol-node"}}
{"return": {}}
{"execute": "job-dismiss", "arguments": {"id": "job0"}}
{"return": {}}
+
image: TEST_IMG
file format: IMGFMT
virtual size: 128 MiB (134250496 bytes)
{"return": {}}
{"execute": "job-dismiss", "arguments": {"id": "job0"}}
{"return": {}}
+
{"execute": "blockdev-add", "arguments": {"driver": "file", "filename": "TEST_DIR/PID-t.vpc", "node-name": "protocol-node"}}
{"return": {}}
{"execute": "job-dismiss", "arguments": {"id": "job0"}}
{"return": {}}
+
image: TEST_IMG
file format: IMGFMT
virtual size: 1 MiB (1048576 bytes)
{"return": {}}
{"execute": "job-dismiss", "arguments": {"id": "job0"}}
{"return": {}}
+
{"execute": "blockdev-add", "arguments": {"driver": "file", "filename": "TEST_DIR/PID-t.vpc", "node-name": "protocol-node"}}
{"return": {}}
{"execute": "job-dismiss", "arguments": {"id": "job0"}}
{"return": {}}
+
qemu-img: Could not open 'TEST_IMG': File too small for a VHD header
--- Creating empty file ---
{"return": {}}
{"execute": "job-dismiss", "arguments": {"id": "job0"}}
{"return": {}}
+
{"execute": "blockdev-add", "arguments": {"driver": "file", "filename": "TEST_DIR/PID-t.vpc", "node-name": "protocol-node"}}
{"return": {}}
{"execute": "job-dismiss", "arguments": {"id": "job0"}}
{"return": {}}
+
image: TEST_IMG
file format: IMGFMT
virtual size: 0 B (0 bytes)
{"return": {}}
{"execute": "job-dismiss", "arguments": {"id": "job0"}}
{"return": {}}
+
{"execute": "blockdev-add", "arguments": {"driver": "file", "filename": "TEST_DIR/PID-t.vpc", "node-name": "protocol-node"}}
{"return": {}}
{"execute": "job-dismiss", "arguments": {"id": "job0"}}
{"return": {}}
+
image: TEST_IMG
file format: IMGFMT
virtual size: 127 GiB (136899993600 bytes)
{"return": {}}
{"execute": "job-dismiss", "arguments": {"id": "job0"}}
{"return": {}}
+
{"execute": "blockdev-add", "arguments": {"driver": "file", "filename": "TEST_DIR/PID-t.vpc", "node-name": "protocol-node"}}
{"return": {}}
{"execute": "job-dismiss", "arguments": {"id": "job0"}}
{"return": {}}
+
image: TEST_IMG
file format: IMGFMT
virtual size: 1.99 TiB (2190433320960 bytes)