Blame SOURCES/kvm-block-create-Mark-blockdev-create-stable.patch

357786
From 6d13aa547ffb24311a0cd6f2268d35fd0a272182 Mon Sep 17 00:00:00 2001
357786
From: Kevin Wolf <kwolf@redhat.com>
357786
Date: Tue, 26 Jun 2018 09:48:52 +0200
357786
Subject: [PATCH 83/89] block/create: Mark blockdev-create stable
357786
357786
RH-Author: Kevin Wolf <kwolf@redhat.com>
357786
Message-id: <20180626094856.6924-70-kwolf@redhat.com>
357786
Patchwork-id: 81104
357786
O-Subject: [RHV-7.6 qemu-kvm-rhev PATCH v2 69/73] block/create: Mark blockdev-create stable
357786
Bugzilla: 1513543
357786
RH-Acked-by: Jeffrey Cody <jcody@redhat.com>
357786
RH-Acked-by: Max Reitz <mreitz@redhat.com>
357786
RH-Acked-by: Fam Zheng <famz@redhat.com>
357786
357786
We're ready to declare the blockdev-create job stable. This renames the
357786
corresponding QMP command from x-blockdev-create to blockdev-create.
357786
357786
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
357786
Reviewed-by: Max Reitz <mreitz@redhat.com>
357786
Reviewed-by: Jeff Cody <jcody@redhat.com>
357786
(cherry picked from commit 3fb588a0f2c006122c34e1960a15c87ae2b927eb)
357786
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
357786
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
357786
---
357786
 block/create.c             |  4 ++--
357786
 qapi/block-core.json       |  4 ++--
357786
 qapi/job.json              |  2 +-
357786
 tests/qemu-iotests/206     |  2 +-
357786
 tests/qemu-iotests/206.out | 54 +++++++++++++++++++++++-----------------------
357786
 tests/qemu-iotests/207     |  2 +-
357786
 tests/qemu-iotests/207.out | 18 ++++++++--------
357786
 tests/qemu-iotests/210     |  2 +-
357786
 tests/qemu-iotests/210.out | 18 ++++++++--------
357786
 tests/qemu-iotests/211     |  2 +-
357786
 tests/qemu-iotests/211.out | 24 ++++++++++-----------
357786
 tests/qemu-iotests/212     |  2 +-
357786
 tests/qemu-iotests/212.out | 42 ++++++++++++++++++------------------
357786
 tests/qemu-iotests/213     |  2 +-
357786
 tests/qemu-iotests/213.out | 44 ++++++++++++++++++-------------------
357786
 15 files changed, 111 insertions(+), 111 deletions(-)
357786
357786
diff --git a/block/create.c b/block/create.c
357786
index 1a263e4..915cd41 100644
357786
--- a/block/create.c
357786
+++ b/block/create.c
357786
@@ -63,8 +63,8 @@ static const JobDriver blockdev_create_job_driver = {
357786
     .start         = blockdev_create_run,
357786
 };
357786
 
357786
-void qmp_x_blockdev_create(const char *job_id, BlockdevCreateOptions *options,
357786
-                           Error **errp)
357786
+void qmp_blockdev_create(const char *job_id, BlockdevCreateOptions *options,
357786
+                         Error **errp)
357786
 {
357786
     BlockdevCreateJob *s;
357786
     const char *fmt = BlockdevDriver_str(options->driver);
357786
diff --git a/qapi/block-core.json b/qapi/block-core.json
357786
index d22d1db..0b07e41 100644
357786
--- a/qapi/block-core.json
357786
+++ b/qapi/block-core.json
357786
@@ -4025,7 +4025,7 @@
357786
   } }
357786
 
357786
 ##
357786
-# @x-blockdev-create:
357786
+# @blockdev-create:
357786
 #
357786
 # Starts a job to create an image format on a given node. The job is
357786
 # automatically finalized, but a manual job-dismiss is required.
357786
@@ -4036,7 +4036,7 @@
357786
 #
357786
 # Since: 3.0
357786
 ##
357786
-{ 'command': 'x-blockdev-create',
357786
+{ 'command': 'blockdev-create',
357786
   'data': { 'job-id': 'str',
357786
             'options': 'BlockdevCreateOptions' } }
357786
 
357786
diff --git a/qapi/job.json b/qapi/job.json
357786
index 69c1970..17d1003 100644
357786
--- a/qapi/job.json
357786
+++ b/qapi/job.json
357786
@@ -17,7 +17,7 @@
357786
 #
357786
 # @backup: drive backup job type, see "drive-backup"
357786
 #
357786
-# @create: image creation job type, see "x-blockdev-create" (since 3.0)
357786
+# @create: image creation job type, see "blockdev-create" (since 3.0)
357786
 #
357786
 # Since: 1.7
357786
 ##
357786
diff --git a/tests/qemu-iotests/206 b/tests/qemu-iotests/206
357786
index b8cf2e7..128c334 100755
357786
--- a/tests/qemu-iotests/206
357786
+++ b/tests/qemu-iotests/206
357786
@@ -26,7 +26,7 @@ from iotests import imgfmt
357786
 iotests.verify_image_format(supported_fmts=['qcow2'])
357786
 
357786
 def blockdev_create(vm, options):
357786
-    result = vm.qmp_log('x-blockdev-create', job_id='job0', options=options)
357786
+    result = vm.qmp_log('blockdev-create', job_id='job0', options=options)
357786
 
357786
     if 'return' in result:
357786
         assert result['return'] == {}
357786
diff --git a/tests/qemu-iotests/206.out b/tests/qemu-iotests/206.out
357786
index 34451a3..789eebe 100644
357786
--- a/tests/qemu-iotests/206.out
357786
+++ b/tests/qemu-iotests/206.out
357786
@@ -1,13 +1,13 @@
357786
 === Successful image creation (defaults) ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.qcow2'}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.qcow2'}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
 {'execute': 'blockdev-add', 'arguments': {'node_name': 'imgfile', 'driver': 'file', 'filename': 'TEST_DIR/PID-t.qcow2'}}
357786
 {u'return': {}}
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'qcow2', 'file': 'imgfile', 'size': 134217728}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'qcow2', 'file': 'imgfile', 'size': 134217728}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
@@ -24,12 +24,12 @@ Format specific information:
357786
 
357786
 === Successful image creation (inline blockdev-add, explicit defaults) ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'nocow': False, 'preallocation': 'off', 'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.qcow2'}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'nocow': False, 'preallocation': 'off', 'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.qcow2'}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 65536, 'refcount-bits': 16, 'version': 'v3', 'preallocation': 'off', 'file': {'driver': 'file', 'filename': 'TEST_DIR/PID-t.qcow2'}, 'lazy-refcounts': False, 'driver': 'qcow2', 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 65536, 'refcount-bits': 16, 'version': 'v3', 'preallocation': 'off', 'file': {'driver': 'file', 'filename': 'TEST_DIR/PID-t.qcow2'}, 'lazy-refcounts': False, 'driver': 'qcow2', 'size': 67108864}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
@@ -46,12 +46,12 @@ Format specific information:
357786
 
357786
 === Successful image creation (v3 non-default options) ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'nocow': True, 'preallocation': 'falloc', 'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.qcow2'}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'nocow': True, 'preallocation': 'falloc', 'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.qcow2'}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 2097152, 'refcount-bits': 1, 'version': 'v3', 'preallocation': 'metadata', 'file': {'driver': 'file', 'filename': 'TEST_DIR/PID-t.qcow2'}, 'lazy-refcounts': True, 'driver': 'qcow2', 'size': 33554432}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 2097152, 'refcount-bits': 1, 'version': 'v3', 'preallocation': 'metadata', 'file': {'driver': 'file', 'filename': 'TEST_DIR/PID-t.qcow2'}, 'lazy-refcounts': True, 'driver': 'qcow2', 'size': 33554432}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
@@ -68,12 +68,12 @@ Format specific information:
357786
 
357786
 === Successful image creation (v2 non-default options) ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.qcow2'}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.qcow2'}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 512, 'backing-fmt': 'qcow2', 'driver': 'qcow2', 'version': 'v2', 'file': {'driver': 'file', 'filename': 'TEST_DIR/PID-t.qcow2'}, 'backing-file': 'TEST_DIR/PID-t.qcow2.base', 'size': 33554432}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 512, 'backing-fmt': 'qcow2', 'driver': 'qcow2', 'version': 'v2', 'file': {'driver': 'file', 'filename': 'TEST_DIR/PID-t.qcow2'}, 'backing-file': 'TEST_DIR/PID-t.qcow2.base', 'size': 33554432}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
@@ -90,7 +90,7 @@ Format specific information:
357786
 
357786
 === Successful image creation (encrypted) ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'encrypt': {'key-secret': 'keysec0', 'iter-time': 10, 'cipher-mode': 'ctr', 'ivgen-hash-alg': 'md5', 'cipher-alg': 'twofish-128', 'format': 'luks', 'ivgen-alg': 'plain64', 'hash-alg': 'sha1'}, 'driver': 'qcow2', 'file': {'driver': 'file', 'filename': 'TEST_DIR/PID-t.qcow2'}, 'size': 33554432}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'encrypt': {'key-secret': 'keysec0', 'iter-time': 10, 'cipher-mode': 'ctr', 'ivgen-hash-alg': 'md5', 'cipher-alg': 'twofish-128', 'format': 'luks', 'ivgen-alg': 'plain64', 'hash-alg': 'sha1'}, 'driver': 'qcow2', 'file': {'driver': 'file', 'filename': 'TEST_DIR/PID-t.qcow2'}, 'size': 33554432}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
@@ -144,111 +144,111 @@ Format specific information:
357786
 
357786
 === Invalid BlockdevRef ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'qcow2', 'file': "this doesn't exist", 'size': 33554432}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'qcow2', 'file': "this doesn't exist", 'size': 33554432}}}
357786
 {u'return': {}}
357786
 Job failed: Cannot find device=this doesn't exist nor node_name=this doesn't exist
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
 === Invalid sizes ===
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'qcow2', 'file': 'node0', 'size': 1234}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'qcow2', 'file': 'node0', 'size': 1234}}}
357786
 {u'return': {}}
357786
 Job failed: Image size must be a multiple of 512 bytes
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'qcow2', 'file': 'node0', 'size': 18446744073709551104L}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'qcow2', 'file': 'node0', 'size': 18446744073709551104L}}}
357786
 {u'return': {}}
357786
 Job failed: Could not resize image: Image size cannot be negative
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'qcow2', 'file': 'node0', 'size': 9223372036854775808L}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'qcow2', 'file': 'node0', 'size': 9223372036854775808L}}}
357786
 {u'return': {}}
357786
 Job failed: Could not resize image: Image size cannot be negative
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'qcow2', 'file': 'node0', 'size': 9223372036854775296}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'qcow2', 'file': 'node0', 'size': 9223372036854775296}}}
357786
 {u'return': {}}
357786
 Job failed: Could not resize image: Failed to grow the L1 table: File too large
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
 === Invalid version ===
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'version': 'v1', 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'version': 'v1', 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
357786
 {u'error': {u'class': u'GenericError', u'desc': u"Invalid parameter 'v1'"}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'lazy-refcounts': True, 'version': 'v2', 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'lazy-refcounts': True, 'version': 'v2', 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
357786
 {u'return': {}}
357786
 Job failed: Lazy refcounts only supported with compatibility level 1.1 and above (use version=v3 or greater)
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'refcount-bits': 8, 'version': 'v2', 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'refcount-bits': 8, 'version': 'v2', 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
357786
 {u'return': {}}
357786
 Job failed: Different refcount widths than 16 bits require compatibility level 1.1 or above (use version=v3 or greater)
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
 === Invalid backing file options ===
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'preallocation': 'full', 'driver': 'qcow2', 'backing-file': '/dev/null', 'file': 'node0', 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'preallocation': 'full', 'driver': 'qcow2', 'backing-file': '/dev/null', 'file': 'node0', 'size': 67108864}}}
357786
 {u'return': {}}
357786
 Job failed: Backing file and preallocation cannot be used at the same time
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'backing-fmt': 'qcow2', 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'backing-fmt': 'qcow2', 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
357786
 {u'return': {}}
357786
 Job failed: Backing format cannot be used without backing file
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
 === Invalid cluster size ===
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 1234, 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 1234, 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
357786
 {u'return': {}}
357786
 Job failed: Cluster size must be a power of two between 512 and 2048k
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 128, 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 128, 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
357786
 {u'return': {}}
357786
 Job failed: Cluster size must be a power of two between 512 and 2048k
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 4194304, 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 4194304, 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
357786
 {u'return': {}}
357786
 Job failed: Cluster size must be a power of two between 512 and 2048k
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 0, 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 0, 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
357786
 {u'return': {}}
357786
 Job failed: Cluster size must be a power of two between 512 and 2048k
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 512, 'driver': 'qcow2', 'file': 'node0', 'size': 281474976710656}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 512, 'driver': 'qcow2', 'file': 'node0', 'size': 281474976710656}}}
357786
 {u'return': {}}
357786
 Job failed: Could not resize image: Failed to grow the L1 table: File too large
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
 === Invalid refcount width ===
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'refcount-bits': 128, 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'refcount-bits': 128, 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
357786
 {u'return': {}}
357786
 Job failed: Refcount width must be a power of two and may not exceed 64 bits
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'refcount-bits': 0, 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'refcount-bits': 0, 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
357786
 {u'return': {}}
357786
 Job failed: Refcount width must be a power of two and may not exceed 64 bits
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'refcount-bits': 7, 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'refcount-bits': 7, 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
357786
 {u'return': {}}
357786
 Job failed: Refcount width must be a power of two and may not exceed 64 bits
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
diff --git a/tests/qemu-iotests/207 b/tests/qemu-iotests/207
357786
index b595c92..444ae23 100755
357786
--- a/tests/qemu-iotests/207
357786
+++ b/tests/qemu-iotests/207
357786
@@ -31,7 +31,7 @@ def filter_hash(msg):
357786
     return re.sub("'hash': '[0-9a-f]+'", "'hash': HASH", msg)
357786
 
357786
 def blockdev_create(vm, options):
357786
-    result = vm.qmp_log('x-blockdev-create', job_id='job0', options=options,
357786
+    result = vm.qmp_log('blockdev-create', job_id='job0', options=options,
357786
                         filters=[iotests.filter_testfiles, filter_hash])
357786
 
357786
     if 'return' in result:
357786
diff --git a/tests/qemu-iotests/207.out b/tests/qemu-iotests/207.out
357786
index 5eee17b..078b7e6 100644
357786
--- a/tests/qemu-iotests/207.out
357786
+++ b/tests/qemu-iotests/207.out
357786
@@ -1,6 +1,6 @@
357786
 === Successful image creation (defaults) ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/PID-t.img', 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 4194304}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/PID-t.img', 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 4194304}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
@@ -16,7 +16,7 @@ virtual size: 4.0M (4194304 bytes)
357786
 
357786
 === Test host-key-check options ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/PID-t.img', 'host-key-check': {'mode': 'none'}, 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 8388608}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/PID-t.img', 'host-key-check': {'mode': 'none'}, 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 8388608}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
@@ -25,7 +25,7 @@ image: json:{"driver": "IMGFMT", "file": {"server.host": "127.0.0.1", "server.po
357786
 file format: IMGFMT
357786
 virtual size: 8.0M (8388608 bytes)
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/PID-t.img', 'host-key-check': {'mode': 'known_hosts'}, 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 4194304}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/PID-t.img', 'host-key-check': {'mode': 'known_hosts'}, 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 4194304}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
@@ -34,13 +34,13 @@ image: json:{"driver": "IMGFMT", "file": {"server.host": "127.0.0.1", "server.po
357786
 file format: IMGFMT
357786
 virtual size: 4.0M (4194304 bytes)
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/PID-t.img', 'host-key-check': {'hash': 'wrong', 'type': 'md5', 'mode': 'hash'}, 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 2097152}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/PID-t.img', 'host-key-check': {'hash': 'wrong', 'type': 'md5', 'mode': 'hash'}, 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 2097152}}}
357786
 {u'return': {}}
357786
 Job failed: remote host key does not match host_key_check 'wrong'
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/PID-t.img', 'host-key-check': {'hash': HASH, 'type': 'md5', 'mode': 'hash'}, 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 8388608}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/PID-t.img', 'host-key-check': {'hash': HASH, 'type': 'md5', 'mode': 'hash'}, 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 8388608}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
@@ -49,13 +49,13 @@ image: json:{"driver": "IMGFMT", "file": {"server.host": "127.0.0.1", "server.po
357786
 file format: IMGFMT
357786
 virtual size: 8.0M (8388608 bytes)
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/PID-t.img', 'host-key-check': {'hash': 'wrong', 'type': 'sha1', 'mode': 'hash'}, 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 2097152}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/PID-t.img', 'host-key-check': {'hash': 'wrong', 'type': 'sha1', 'mode': 'hash'}, 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 2097152}}}
357786
 {u'return': {}}
357786
 Job failed: remote host key does not match host_key_check 'wrong'
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/PID-t.img', 'host-key-check': {'hash': HASH, 'type': 'sha1', 'mode': 'hash'}, 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 4194304}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/PID-t.img', 'host-key-check': {'hash': HASH, 'type': 'sha1', 'mode': 'hash'}, 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 4194304}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
@@ -66,13 +66,13 @@ virtual size: 4.0M (4194304 bytes)
357786
 
357786
 === Invalid path and user ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': '/this/is/not/an/existing/path', 'host-key-check': {'mode': 'none'}, 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 4194304}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': '/this/is/not/an/existing/path', 'host-key-check': {'mode': 'none'}, 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 4194304}}}
357786
 {u'return': {}}
357786
 Job failed: failed to open remote file '/this/is/not/an/existing/path': Failed opening remote file (libssh2 error code: -31)
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/PID-t.img', 'host-key-check': {'mode': 'none'}, 'user': 'invalid user', 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 4194304}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/PID-t.img', 'host-key-check': {'mode': 'none'}, 'user': 'invalid user', 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 4194304}}}
357786
 {u'return': {}}
357786
 Job failed: failed to authenticate using publickey authentication and the identities held by your ssh-agent
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
diff --git a/tests/qemu-iotests/210 b/tests/qemu-iotests/210
357786
index ff4fdde..d142841 100755
357786
--- a/tests/qemu-iotests/210
357786
+++ b/tests/qemu-iotests/210
357786
@@ -27,7 +27,7 @@ iotests.verify_image_format(supported_fmts=['luks'])
357786
 iotests.verify_protocol(supported=['file'])
357786
 
357786
 def blockdev_create(vm, options):
357786
-    result = vm.qmp_log('x-blockdev-create', job_id='job0', options=options)
357786
+    result = vm.qmp_log('blockdev-create', job_id='job0', options=options)
357786
 
357786
     if 'return' in result:
357786
         assert result['return'] == {}
357786
diff --git a/tests/qemu-iotests/210.out b/tests/qemu-iotests/210.out
357786
index 0e6e5c0..078ba54 100644
357786
--- a/tests/qemu-iotests/210.out
357786
+++ b/tests/qemu-iotests/210.out
357786
@@ -1,13 +1,13 @@
357786
 === Successful image creation (defaults) ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.luks'}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.luks'}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
 {'execute': 'blockdev-add', 'arguments': {'node_name': 'imgfile', 'driver': 'file', 'filename': 'TEST_DIR/PID-t.luks'}}
357786
 {u'return': {}}
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'key-secret': 'keysec0', 'iter-time': 10, 'driver': 'luks', 'file': 'imgfile', 'size': 134217728}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'key-secret': 'keysec0', 'iter-time': 10, 'driver': 'luks', 'file': 'imgfile', 'size': 134217728}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
@@ -54,12 +54,12 @@ Format specific information:
357786
 
357786
 === Successful image creation (with non-default options) ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.luks'}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.luks'}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'key-secret': 'keysec0', 'hash-alg': 'sha1', 'cipher-mode': 'ctr', 'cipher-alg': 'twofish-128', 'file': {'driver': 'file', 'filename': 'TEST_DIR/PID-t.luks'}, 'iter-time': 10, 'ivgen-alg': 'plain64', 'ivgen-hash-alg': 'md5', 'driver': 'luks', 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'key-secret': 'keysec0', 'hash-alg': 'sha1', 'cipher-mode': 'ctr', 'cipher-alg': 'twofish-128', 'file': {'driver': 'file', 'filename': 'TEST_DIR/PID-t.luks'}, 'iter-time': 10, 'ivgen-alg': 'plain64', 'ivgen-hash-alg': 'md5', 'driver': 'luks', 'size': 67108864}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
@@ -106,7 +106,7 @@ Format specific information:
357786
 
357786
 === Invalid BlockdevRef ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'luks', 'file': "this doesn't exist", 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'luks', 'file': "this doesn't exist", 'size': 67108864}}}
357786
 {u'return': {}}
357786
 Job failed: Cannot find device=this doesn't exist nor node_name=this doesn't exist
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
@@ -114,7 +114,7 @@ Job failed: Cannot find device=this doesn't exist nor node_name=this doesn't exi
357786
 
357786
 === Zero size ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'key-secret': 'keysec0', 'iter-time': 10, 'driver': 'luks', 'file': 'node0', 'size': 0}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'key-secret': 'keysec0', 'iter-time': 10, 'driver': 'luks', 'file': 'node0', 'size': 0}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
@@ -161,19 +161,19 @@ Format specific information:
357786
 
357786
 === Invalid sizes ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'key-secret': 'keysec0', 'driver': 'luks', 'file': 'node0', 'size': 18446744073709551104L}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'key-secret': 'keysec0', 'driver': 'luks', 'file': 'node0', 'size': 18446744073709551104L}}}
357786
 {u'return': {}}
357786
 Job failed: The requested file size is too large
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'key-secret': 'keysec0', 'driver': 'luks', 'file': 'node0', 'size': 9223372036854775808L}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'key-secret': 'keysec0', 'driver': 'luks', 'file': 'node0', 'size': 9223372036854775808L}}}
357786
 {u'return': {}}
357786
 Job failed: The requested file size is too large
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'key-secret': 'keysec0', 'driver': 'luks', 'file': 'node0', 'size': 9223372036854775296}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'key-secret': 'keysec0', 'driver': 'luks', 'file': 'node0', 'size': 9223372036854775296}}}
357786
 {u'return': {}}
357786
 Job failed: The requested file size is too large
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
diff --git a/tests/qemu-iotests/211 b/tests/qemu-iotests/211
357786
index b45f886..7b7985d 100755
357786
--- a/tests/qemu-iotests/211
357786
+++ b/tests/qemu-iotests/211
357786
@@ -27,7 +27,7 @@ iotests.verify_image_format(supported_fmts=['vdi'])
357786
 iotests.verify_protocol(supported=['file'])
357786
 
357786
 def blockdev_create(vm, options):
357786
-    result = vm.qmp_log('x-blockdev-create', job_id='job0', options=options)
357786
+    result = vm.qmp_log('blockdev-create', job_id='job0', options=options)
357786
 
357786
     if 'return' in result:
357786
         assert result['return'] == {}
357786
diff --git a/tests/qemu-iotests/211.out b/tests/qemu-iotests/211.out
357786
index 2bf1c4a..6feaea3 100644
357786
--- a/tests/qemu-iotests/211.out
357786
+++ b/tests/qemu-iotests/211.out
357786
@@ -1,13 +1,13 @@
357786
 === Successful image creation (defaults) ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.vdi'}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.vdi'}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
 {'execute': 'blockdev-add', 'arguments': {'node_name': 'imgfile', 'driver': 'file', 'filename': 'TEST_DIR/PID-t.vdi'}}
357786
 {u'return': {}}
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vdi', 'file': 'imgfile', 'size': 134217728}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vdi', 'file': 'imgfile', 'size': 134217728}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
@@ -21,12 +21,12 @@ cluster_size: 1048576
357786
 
357786
 === Successful image creation (explicit defaults) ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.vdi'}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.vdi'}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'preallocation': 'off', 'driver': 'vdi', 'file': {'driver': 'file', 'filename': 'TEST_DIR/PID-t.vdi'}, 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'preallocation': 'off', 'driver': 'vdi', 'file': {'driver': 'file', 'filename': 'TEST_DIR/PID-t.vdi'}, 'size': 67108864}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
@@ -40,12 +40,12 @@ cluster_size: 1048576
357786
 
357786
 === Successful image creation (with non-default options) ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.vdi'}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.vdi'}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'preallocation': 'metadata', 'driver': 'vdi', 'file': {'driver': 'file', 'filename': 'TEST_DIR/PID-t.vdi'}, 'size': 33554432}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'preallocation': 'metadata', 'driver': 'vdi', 'file': {'driver': 'file', 'filename': 'TEST_DIR/PID-t.vdi'}, 'size': 33554432}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
@@ -60,7 +60,7 @@ cluster_size: 1048576
357786
 
357786
 === Invalid BlockdevRef ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vdi', 'file': "this doesn't exist", 'size': 33554432}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vdi', 'file': "this doesn't exist", 'size': 33554432}}}
357786
 {u'return': {}}
357786
 Job failed: Cannot find device=this doesn't exist nor node_name=this doesn't exist
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
@@ -68,7 +68,7 @@ Job failed: Cannot find device=this doesn't exist nor node_name=this doesn't exi
357786
 
357786
 === Zero size ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vdi', 'file': 'node0', 'size': 0}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vdi', 'file': 'node0', 'size': 0}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
@@ -80,7 +80,7 @@ cluster_size: 1048576
357786
 
357786
 === Maximum size ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vdi', 'file': 'node0', 'size': 562949819203584}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vdi', 'file': 'node0', 'size': 562949819203584}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
@@ -92,19 +92,19 @@ cluster_size: 1048576
357786
 
357786
 === Invalid sizes ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vdi', 'file': 'node0', 'size': 18446744073709551104L}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vdi', 'file': 'node0', 'size': 18446744073709551104L}}}
357786
 {u'return': {}}
357786
 Job failed: Unsupported VDI image size (size is 0xfffffffffffffe00, max supported is 0x1fffff8000000)
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vdi', 'file': 'node0', 'size': 9223372036854775808L}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vdi', 'file': 'node0', 'size': 9223372036854775808L}}}
357786
 {u'return': {}}
357786
 Job failed: Unsupported VDI image size (size is 0x8000000000000000, max supported is 0x1fffff8000000)
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vdi', 'file': 'node0', 'size': 562949819203585}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vdi', 'file': 'node0', 'size': 562949819203585}}}
357786
 {u'return': {}}
357786
 Job failed: Unsupported VDI image size (size is 0x1fffff8000001, max supported is 0x1fffff8000000)
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
diff --git a/tests/qemu-iotests/212 b/tests/qemu-iotests/212
357786
index 03cf41d..95c8810 100755
357786
--- a/tests/qemu-iotests/212
357786
+++ b/tests/qemu-iotests/212
357786
@@ -27,7 +27,7 @@ iotests.verify_image_format(supported_fmts=['parallels'])
357786
 iotests.verify_protocol(supported=['file'])
357786
 
357786
 def blockdev_create(vm, options):
357786
-    result = vm.qmp_log('x-blockdev-create', job_id='job0', options=options)
357786
+    result = vm.qmp_log('blockdev-create', job_id='job0', options=options)
357786
 
357786
     if 'return' in result:
357786
         assert result['return'] == {}
357786
diff --git a/tests/qemu-iotests/212.out b/tests/qemu-iotests/212.out
357786
index 780bc30..9150da7 100644
357786
--- a/tests/qemu-iotests/212.out
357786
+++ b/tests/qemu-iotests/212.out
357786
@@ -1,13 +1,13 @@
357786
 === Successful image creation (defaults) ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.parallels'}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.parallels'}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
 {'execute': 'blockdev-add', 'arguments': {'node_name': 'imgfile', 'driver': 'file', 'filename': 'TEST_DIR/PID-t.parallels'}}
357786
 {u'return': {}}
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'imgfile', 'size': 134217728}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'imgfile', 'size': 134217728}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
@@ -18,12 +18,12 @@ virtual size: 128M (134217728 bytes)
357786
 
357786
 === Successful image creation (explicit defaults) ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.parallels'}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.parallels'}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 1048576, 'driver': 'parallels', 'file': {'driver': 'file', 'filename': 'TEST_DIR/PID-t.parallels'}, 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 1048576, 'driver': 'parallels', 'file': {'driver': 'file', 'filename': 'TEST_DIR/PID-t.parallels'}, 'size': 67108864}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
@@ -34,12 +34,12 @@ virtual size: 64M (67108864 bytes)
357786
 
357786
 === Successful image creation (with non-default options) ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.parallels'}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.parallels'}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 65536, 'driver': 'parallels', 'file': {'driver': 'file', 'filename': 'TEST_DIR/PID-t.parallels'}, 'size': 33554432}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 65536, 'driver': 'parallels', 'file': {'driver': 'file', 'filename': 'TEST_DIR/PID-t.parallels'}, 'size': 33554432}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
@@ -50,7 +50,7 @@ virtual size: 32M (33554432 bytes)
357786
 
357786
 === Invalid BlockdevRef ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': "this doesn't exist", 'size': 33554432}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': "this doesn't exist", 'size': 33554432}}}
357786
 {u'return': {}}
357786
 Job failed: Cannot find device=this doesn't exist nor node_name=this doesn't exist
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
@@ -58,7 +58,7 @@ Job failed: Cannot find device=this doesn't exist nor node_name=this doesn't exi
357786
 
357786
 === Zero size ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'node0', 'size': 0}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'node0', 'size': 0}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
@@ -69,7 +69,7 @@ virtual size: 0 (0 bytes)
357786
 
357786
 === Maximum size ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'node0', 'size': 4503599627369984}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'node0', 'size': 4503599627369984}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
@@ -80,31 +80,31 @@ virtual size: 4096T (4503599627369984 bytes)
357786
 
357786
 === Invalid sizes ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'node0', 'size': 1234}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'node0', 'size': 1234}}}
357786
 {u'return': {}}
357786
 Job failed: Image size must be a multiple of 512 bytes
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'node0', 'size': 18446744073709551104L}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'node0', 'size': 18446744073709551104L}}}
357786
 {u'return': {}}
357786
 Job failed: Image size is too large for this cluster size
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'node0', 'size': 9223372036854775808L}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'node0', 'size': 9223372036854775808L}}}
357786
 {u'return': {}}
357786
 Job failed: Image size is too large for this cluster size
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'node0', 'size': 9223372036854775296}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'node0', 'size': 9223372036854775296}}}
357786
 {u'return': {}}
357786
 Job failed: Image size is too large for this cluster size
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'node0', 'size': 4503599627370497}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'node0', 'size': 4503599627370497}}}
357786
 {u'return': {}}
357786
 Job failed: Image size is too large for this cluster size
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
@@ -112,43 +112,43 @@ Job failed: Image size is too large for this cluster size
357786
 
357786
 === Invalid cluster size ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 1234, 'driver': 'parallels', 'file': 'node0', 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 1234, 'driver': 'parallels', 'file': 'node0', 'size': 67108864}}}
357786
 {u'return': {}}
357786
 Job failed: Cluster size must be a multiple of 512 bytes
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 128, 'driver': 'parallels', 'file': 'node0', 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 128, 'driver': 'parallels', 'file': 'node0', 'size': 67108864}}}
357786
 {u'return': {}}
357786
 Job failed: Cluster size must be a multiple of 512 bytes
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 4294967296, 'driver': 'parallels', 'file': 'node0', 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 4294967296, 'driver': 'parallels', 'file': 'node0', 'size': 67108864}}}
357786
 {u'return': {}}
357786
 Job failed: Cluster size is too large
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 9223372036854775808L, 'driver': 'parallels', 'file': 'node0', 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 9223372036854775808L, 'driver': 'parallels', 'file': 'node0', 'size': 67108864}}}
357786
 {u'return': {}}
357786
 Job failed: Cluster size is too large
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 18446744073709551104L, 'driver': 'parallels', 'file': 'node0', 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 18446744073709551104L, 'driver': 'parallels', 'file': 'node0', 'size': 67108864}}}
357786
 {u'return': {}}
357786
 Job failed: Cluster size is too large
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 0, 'driver': 'parallels', 'file': 'node0', 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 0, 'driver': 'parallels', 'file': 'node0', 'size': 67108864}}}
357786
 {u'return': {}}
357786
 Job failed: Image size is too large for this cluster size
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 512, 'driver': 'parallels', 'file': 'node0', 'size': 281474976710656}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 512, 'driver': 'parallels', 'file': 'node0', 'size': 281474976710656}}}
357786
 {u'return': {}}
357786
 Job failed: Image size is too large for this cluster size
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
diff --git a/tests/qemu-iotests/213 b/tests/qemu-iotests/213
357786
index 29d25bc..4054439 100755
357786
--- a/tests/qemu-iotests/213
357786
+++ b/tests/qemu-iotests/213
357786
@@ -27,7 +27,7 @@ iotests.verify_image_format(supported_fmts=['vhdx'])
357786
 iotests.verify_protocol(supported=['file'])
357786
 
357786
 def blockdev_create(vm, options):
357786
-    result = vm.qmp_log('x-blockdev-create', job_id='job0', options=options)
357786
+    result = vm.qmp_log('blockdev-create', job_id='job0', options=options)
357786
 
357786
     if 'return' in result:
357786
         assert result['return'] == {}
357786
diff --git a/tests/qemu-iotests/213.out b/tests/qemu-iotests/213.out
357786
index f18a39a..e1dcd47 100644
357786
--- a/tests/qemu-iotests/213.out
357786
+++ b/tests/qemu-iotests/213.out
357786
@@ -1,13 +1,13 @@
357786
 === Successful image creation (defaults) ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.vhdx'}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.vhdx'}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
 {'execute': 'blockdev-add', 'arguments': {'node_name': 'imgfile', 'driver': 'file', 'filename': 'TEST_DIR/PID-t.vhdx'}}
357786
 {u'return': {}}
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': 'imgfile', 'size': 134217728}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': 'imgfile', 'size': 134217728}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
@@ -19,12 +19,12 @@ cluster_size: 8388608
357786
 
357786
 === Successful image creation (explicit defaults) ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.vhdx'}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.vhdx'}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'block-size': 8388608, 'driver': 'vhdx', 'subformat': 'dynamic', 'log-size': 1048576, 'file': {'driver': 'file', 'filename': 'TEST_DIR/PID-t.vhdx'}, 'block-state-zero': True, 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'block-size': 8388608, 'driver': 'vhdx', 'subformat': 'dynamic', 'log-size': 1048576, 'file': {'driver': 'file', 'filename': 'TEST_DIR/PID-t.vhdx'}, 'block-state-zero': True, 'size': 67108864}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
@@ -36,12 +36,12 @@ cluster_size: 8388608
357786
 
357786
 === Successful image creation (with non-default options) ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.vhdx'}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/PID-t.vhdx'}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'block-size': 268435456, 'driver': 'vhdx', 'subformat': 'fixed', 'log-size': 8388608, 'file': {'driver': 'file', 'filename': 'TEST_DIR/PID-t.vhdx'}, 'block-state-zero': False, 'size': 33554432}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'block-size': 268435456, 'driver': 'vhdx', 'subformat': 'fixed', 'log-size': 8388608, 'file': {'driver': 'file', 'filename': 'TEST_DIR/PID-t.vhdx'}, 'block-state-zero': False, 'size': 33554432}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
@@ -53,7 +53,7 @@ cluster_size: 268435456
357786
 
357786
 === Invalid BlockdevRef ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': "this doesn't exist", 'size': 33554432}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': "this doesn't exist", 'size': 33554432}}}
357786
 {u'return': {}}
357786
 Job failed: Cannot find device=this doesn't exist nor node_name=this doesn't exist
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
@@ -61,7 +61,7 @@ Job failed: Cannot find device=this doesn't exist nor node_name=this doesn't exi
357786
 
357786
 === Zero size ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': 'node0', 'size': 0}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': 'node0', 'size': 0}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
@@ -73,7 +73,7 @@ cluster_size: 8388608
357786
 
357786
 === Maximum size ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': 'node0', 'size': 70368744177664}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': 'node0', 'size': 70368744177664}}}
357786
 {u'return': {}}
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
@@ -85,25 +85,25 @@ cluster_size: 67108864
357786
 
357786
 === Invalid sizes ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': 'node0', 'size': 18446744073709551104L}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': 'node0', 'size': 18446744073709551104L}}}
357786
 {u'return': {}}
357786
 Job failed: Image size too large; max of 64TB
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': 'node0', 'size': 9223372036854775808L}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': 'node0', 'size': 9223372036854775808L}}}
357786
 {u'return': {}}
357786
 Job failed: Image size too large; max of 64TB
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': 'node0', 'size': 9223372036854775296}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': 'node0', 'size': 9223372036854775296}}}
357786
 {u'return': {}}
357786
 Job failed: Image size too large; max of 64TB
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': 'node0', 'size': 70368744177665}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': 'node0', 'size': 70368744177665}}}
357786
 {u'return': {}}
357786
 Job failed: Image size too large; max of 64TB
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
@@ -111,31 +111,31 @@ Job failed: Image size too large; max of 64TB
357786
 
357786
 === Invalid block size ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'block-size': 1234567, 'file': 'node0', 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'block-size': 1234567, 'file': 'node0', 'size': 67108864}}}
357786
 {u'return': {}}
357786
 Job failed: Block size must be a multiple of 1 MB
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'block-size': 128, 'file': 'node0', 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'block-size': 128, 'file': 'node0', 'size': 67108864}}}
357786
 {u'return': {}}
357786
 Job failed: Block size must be a multiple of 1 MB
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'block-size': 3145728, 'file': 'node0', 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'block-size': 3145728, 'file': 'node0', 'size': 67108864}}}
357786
 {u'return': {}}
357786
 Job failed: Block size must be a power of two
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'block-size': 536870912, 'file': 'node0', 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'block-size': 536870912, 'file': 'node0', 'size': 67108864}}}
357786
 {u'return': {}}
357786
 Job failed: Block size must not exceed 268435456
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'block-size': 0, 'file': 'node0', 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'block-size': 0, 'file': 'node0', 'size': 67108864}}}
357786
 {u'return': {}}
357786
 Job failed: Block size must be a multiple of 1 MB
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
@@ -143,25 +143,25 @@ Job failed: Block size must be a multiple of 1 MB
357786
 
357786
 === Invalid log size ===
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'log-size': 1234567, 'driver': 'vhdx', 'file': 'node0', 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'log-size': 1234567, 'driver': 'vhdx', 'file': 'node0', 'size': 67108864}}}
357786
 {u'return': {}}
357786
 Job failed: Log size must be a multiple of 1 MB
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'log-size': 128, 'driver': 'vhdx', 'file': 'node0', 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'log-size': 128, 'driver': 'vhdx', 'file': 'node0', 'size': 67108864}}}
357786
 {u'return': {}}
357786
 Job failed: Log size must be a multiple of 1 MB
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'log-size': 4294967296, 'driver': 'vhdx', 'file': 'node0', 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'log-size': 4294967296, 'driver': 'vhdx', 'file': 'node0', 'size': 67108864}}}
357786
 {u'return': {}}
357786
 Job failed: Log size must be smaller than 4 GB
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
 {u'return': {}}
357786
 
357786
-{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'log-size': 0, 'driver': 'vhdx', 'file': 'node0', 'size': 67108864}}}
357786
+{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'log-size': 0, 'driver': 'vhdx', 'file': 'node0', 'size': 67108864}}}
357786
 {u'return': {}}
357786
 Job failed: Log size must be a multiple of 1 MB
357786
 {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
357786
-- 
357786
1.8.3.1
357786