All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Cody <jcody@redhat.com>
To: Kevin Wolf <kwolf@redhat.com>
Cc: qemu-block@nongnu.org, qemu-devel@nongnu.org, mreitz@redhat.com
Subject: Re: [Qemu-devel] [Qemu-block] [PATCH 14/14] block/create: Mark blockdev-create stable
Date: Tue, 29 May 2018 14:25:09 -0400	[thread overview]
Message-ID: <20180529182509.GJ6999@localhost.localdomain> (raw)
In-Reply-To: <20180525163327.23097-15-kwolf@redhat.com>

On Fri, May 25, 2018 at 06:33:27PM +0200, Kevin Wolf wrote:
> We're ready to declare the blockdev-create job stable. This renames the
> corresponding QMP command from x-blockdev-create to blockdev-create.
> 
> Signed-off-by: Kevin Wolf <kwolf@redhat.com>

Reviewed-by: Jeff Cody <jcody@redhat.com>

> ---
>  qapi/block-core.json       |  4 ++--
>  qapi/job.json              |  2 +-
>  block/create.c             |  4 ++--
>  tests/qemu-iotests/206     |  2 +-
>  tests/qemu-iotests/206.out | 54 +++++++++++++++++++++++-----------------------
>  tests/qemu-iotests/207     |  2 +-
>  tests/qemu-iotests/207.out | 18 ++++++++--------
>  tests/qemu-iotests/210     |  2 +-
>  tests/qemu-iotests/210.out | 18 ++++++++--------
>  tests/qemu-iotests/211     |  2 +-
>  tests/qemu-iotests/211.out | 24 ++++++++++-----------
>  tests/qemu-iotests/212     |  2 +-
>  tests/qemu-iotests/212.out | 42 ++++++++++++++++++------------------
>  tests/qemu-iotests/213     |  2 +-
>  tests/qemu-iotests/213.out | 44 ++++++++++++++++++-------------------
>  15 files changed, 111 insertions(+), 111 deletions(-)
> 
> diff --git a/qapi/block-core.json b/qapi/block-core.json
> index 1ed3a82373..015e5ac12b 100644
> --- a/qapi/block-core.json
> +++ b/qapi/block-core.json
> @@ -4011,7 +4011,7 @@
>    } }
>  
>  ##
> -# @x-blockdev-create:
> +# @blockdev-create:
>  #
>  # Starts a job to create an image format on a given node. The job is
>  # automatically finalized, but a manual job-dismiss is required.
> @@ -4022,7 +4022,7 @@
>  #
>  # Since: 3.0
>  ##
> -{ 'command': 'x-blockdev-create',
> +{ 'command': 'blockdev-create',
>    'data': { 'job-id': 'str',
>              'options': 'BlockdevCreateOptions' } }
>  
> diff --git a/qapi/job.json b/qapi/job.json
> index 69c1970a58..17d10037c4 100644
> --- a/qapi/job.json
> +++ b/qapi/job.json
> @@ -17,7 +17,7 @@
>  #
>  # @backup: drive backup job type, see "drive-backup"
>  #
> -# @create: image creation job type, see "x-blockdev-create" (since 3.0)
> +# @create: image creation job type, see "blockdev-create" (since 3.0)
>  #
>  # Since: 1.7
>  ##
> diff --git a/block/create.c b/block/create.c
> index 87fdab3b72..21728acca0 100644
> --- a/block/create.c
> +++ b/block/create.c
> @@ -61,8 +61,8 @@ static const JobDriver blockdev_create_job_driver = {
>      .start         = blockdev_create_run,
>  };
>  
> -void qmp_x_blockdev_create(const char *job_id, BlockdevCreateOptions *options,
> -                           Error **errp)
> +void qmp_blockdev_create(const char *job_id, BlockdevCreateOptions *options,
> +                         Error **errp)
>  {
>      BlockdevCreateJob *s;
>      const char *fmt = BlockdevDriver_str(options->driver);
> diff --git a/tests/qemu-iotests/206 b/tests/qemu-iotests/206
> index 9a305302d1..334410d6a7 100755
> --- a/tests/qemu-iotests/206
> +++ b/tests/qemu-iotests/206
> @@ -26,7 +26,7 @@ from iotests import imgfmt
>  iotests.verify_image_format(supported_fmts=['qcow2'])
>  
>  def blockdev_create(vm, options):
> -    result = vm.qmp_log('x-blockdev-create', job_id='job0', options=options)
> +    result = vm.qmp_log('blockdev-create', job_id='job0', options=options)
>  
>      if 'return' in result:
>          assert result['return'] == {}
> diff --git a/tests/qemu-iotests/206.out b/tests/qemu-iotests/206.out
> index 45367270e8..8b403ea08f 100644
> --- a/tests/qemu-iotests/206.out
> +++ b/tests/qemu-iotests/206.out
> @@ -1,13 +1,13 @@
>  === Successful image creation (defaults) ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/t.qcow2'}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/t.qcow2'}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
>  {'execute': 'blockdev-add', 'arguments': {'node_name': 'imgfile', 'driver': 'file', 'filename': 'TEST_DIR/t.qcow2'}}
>  {u'return': {}}
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'qcow2', 'file': 'imgfile', 'size': 134217728}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'qcow2', 'file': 'imgfile', 'size': 134217728}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
> @@ -24,12 +24,12 @@ Format specific information:
>  
>  === Successful image creation (inline blockdev-add, explicit defaults) ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'nocow': False, 'preallocation': 'off', 'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/t.qcow2'}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'nocow': False, 'preallocation': 'off', 'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/t.qcow2'}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'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/t.qcow2'}, 'lazy-refcounts': False, 'driver': 'qcow2', 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 65536, 'refcount-bits': 16, 'version': 'v3', 'preallocation': 'off', 'file': {'driver': 'file', 'filename': 'TEST_DIR/t.qcow2'}, 'lazy-refcounts': False, 'driver': 'qcow2', 'size': 67108864}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
> @@ -46,12 +46,12 @@ Format specific information:
>  
>  === Successful image creation (v3 non-default options) ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'nocow': True, 'preallocation': 'falloc', 'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/t.qcow2'}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'nocow': True, 'preallocation': 'falloc', 'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/t.qcow2'}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'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/t.qcow2'}, 'lazy-refcounts': True, 'driver': 'qcow2', 'size': 33554432}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 2097152, 'refcount-bits': 1, 'version': 'v3', 'preallocation': 'metadata', 'file': {'driver': 'file', 'filename': 'TEST_DIR/t.qcow2'}, 'lazy-refcounts': True, 'driver': 'qcow2', 'size': 33554432}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
> @@ -68,12 +68,12 @@ Format specific information:
>  
>  === Successful image creation (v2 non-default options) ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/t.qcow2'}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/t.qcow2'}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'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/t.qcow2'}, 'backing-file': 'TEST_DIR/t.qcow2.base', 'size': 33554432}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 512, 'backing-fmt': 'qcow2', 'driver': 'qcow2', 'version': 'v2', 'file': {'driver': 'file', 'filename': 'TEST_DIR/t.qcow2'}, 'backing-file': 'TEST_DIR/t.qcow2.base', 'size': 33554432}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
> @@ -90,7 +90,7 @@ Format specific information:
>  
>  === Successful image creation (encrypted) ===
>  
> -{'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/t.qcow2'}, 'size': 33554432}}}
> +{'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/t.qcow2'}, 'size': 33554432}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
> @@ -144,111 +144,111 @@ Format specific information:
>  
>  === Invalid BlockdevRef ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'qcow2', 'file': "this doesn't exist", 'size': 33554432}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'qcow2', 'file': "this doesn't exist", 'size': 33554432}}}
>  {u'return': {}}
>  Job failed: Cannot find device=this doesn't exist nor node_name=this doesn't exist
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
>  === Invalid sizes ===
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'qcow2', 'file': 'node0', 'size': 1234}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'qcow2', 'file': 'node0', 'size': 1234}}}
>  {u'return': {}}
>  Job failed: Image size must be a multiple of 512 bytes
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'qcow2', 'file': 'node0', 'size': 18446744073709551104L}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'qcow2', 'file': 'node0', 'size': 18446744073709551104L}}}
>  {u'return': {}}
>  Job failed: Could not resize image: Image size cannot be negative
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'qcow2', 'file': 'node0', 'size': 9223372036854775808L}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'qcow2', 'file': 'node0', 'size': 9223372036854775808L}}}
>  {u'return': {}}
>  Job failed: Could not resize image: Image size cannot be negative
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'qcow2', 'file': 'node0', 'size': 9223372036854775296}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'qcow2', 'file': 'node0', 'size': 9223372036854775296}}}
>  {u'return': {}}
>  Job failed: Could not resize image: Failed to grow the L1 table: File too large
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
>  === Invalid version ===
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'version': 'v1', 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'version': 'v1', 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
>  {u'error': {u'class': u'GenericError', u'desc': u"Invalid parameter 'v1'"}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'lazy-refcounts': True, 'version': 'v2', 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'lazy-refcounts': True, 'version': 'v2', 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
>  {u'return': {}}
>  Job failed: Lazy refcounts only supported with compatibility level 1.1 and above (use version=v3 or greater)
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'refcount-bits': 8, 'version': 'v2', 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'refcount-bits': 8, 'version': 'v2', 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
>  {u'return': {}}
>  Job failed: Different refcount widths than 16 bits require compatibility level 1.1 or above (use version=v3 or greater)
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
>  === Invalid backing file options ===
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'preallocation': 'full', 'driver': 'qcow2', 'backing-file': '/dev/null', 'file': 'node0', 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'preallocation': 'full', 'driver': 'qcow2', 'backing-file': '/dev/null', 'file': 'node0', 'size': 67108864}}}
>  {u'return': {}}
>  Job failed: Backing file and preallocation cannot be used at the same time
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'backing-fmt': 'qcow2', 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'backing-fmt': 'qcow2', 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
>  {u'return': {}}
>  Job failed: Backing format cannot be used without backing file
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
>  === Invalid cluster size ===
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 1234, 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 1234, 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
>  {u'return': {}}
>  Job failed: Cluster size must be a power of two between 512 and 2048k
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 128, 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 128, 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
>  {u'return': {}}
>  Job failed: Cluster size must be a power of two between 512 and 2048k
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 4194304, 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 4194304, 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
>  {u'return': {}}
>  Job failed: Cluster size must be a power of two between 512 and 2048k
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 0, 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 0, 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
>  {u'return': {}}
>  Job failed: Cluster size must be a power of two between 512 and 2048k
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 512, 'driver': 'qcow2', 'file': 'node0', 'size': 281474976710656}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 512, 'driver': 'qcow2', 'file': 'node0', 'size': 281474976710656}}}
>  {u'return': {}}
>  Job failed: Could not resize image: Failed to grow the L1 table: File too large
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
>  === Invalid refcount width ===
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'refcount-bits': 128, 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'refcount-bits': 128, 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
>  {u'return': {}}
>  Job failed: Refcount width must be a power of two and may not exceed 64 bits
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'refcount-bits': 0, 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'refcount-bits': 0, 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
>  {u'return': {}}
>  Job failed: Refcount width must be a power of two and may not exceed 64 bits
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'refcount-bits': 7, 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'refcount-bits': 7, 'driver': 'qcow2', 'file': 'node0', 'size': 67108864}}}
>  {u'return': {}}
>  Job failed: Refcount width must be a power of two and may not exceed 64 bits
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
> diff --git a/tests/qemu-iotests/207 b/tests/qemu-iotests/207
> index 91c1f7e811..0d7680599f 100755
> --- a/tests/qemu-iotests/207
> +++ b/tests/qemu-iotests/207
> @@ -27,7 +27,7 @@ iotests.verify_image_format(supported_fmts=['raw'])
>  iotests.verify_protocol(supported=['ssh'])
>  
>  def blockdev_create(vm, options):
> -    result = vm.qmp_log('x-blockdev-create', job_id='job0', options=options)
> +    result = vm.qmp_log('blockdev-create', job_id='job0', options=options)
>  
>      if 'return' in result:
>          assert result['return'] == {}
> diff --git a/tests/qemu-iotests/207.out b/tests/qemu-iotests/207.out
> index 299650872c..92a7fa1b01 100644
> --- a/tests/qemu-iotests/207.out
> +++ b/tests/qemu-iotests/207.out
> @@ -1,6 +1,6 @@
>  === Successful image creation (defaults) ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/t.img', 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 4194304}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/t.img', 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 4194304}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
> @@ -16,7 +16,7 @@ virtual size: 4.0M (4194304 bytes)
>  
>  === Test host-key-check options ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/t.img', 'host-key-check': {'mode': 'none'}, 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 8388608}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/t.img', 'host-key-check': {'mode': 'none'}, 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 8388608}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
> @@ -25,7 +25,7 @@ image: json:{"driver": "IMGFMT", "file": {"server.host": "127.0.0.1", "server.po
>  file format: IMGFMT
>  virtual size: 8.0M (8388608 bytes)
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/t.img', 'host-key-check': {'mode': 'known_hosts'}, 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 4194304}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/t.img', 'host-key-check': {'mode': 'known_hosts'}, 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 4194304}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
> @@ -34,13 +34,13 @@ image: json:{"driver": "IMGFMT", "file": {"server.host": "127.0.0.1", "server.po
>  file format: IMGFMT
>  virtual size: 4.0M (4194304 bytes)
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/t.img', 'host-key-check': {'hash': 'wrong', 'type': 'md5', 'mode': 'hash'}, 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 2097152}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/t.img', 'host-key-check': {'hash': 'wrong', 'type': 'md5', 'mode': 'hash'}, 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 2097152}}}
>  {u'return': {}}
>  Job failed: remote host key does not match host_key_check 'wrong'
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/t.img', 'host-key-check': {'hash': 'f3386a5742ddc4a04244118e59a1f92b', 'type': 'md5', 'mode': 'hash'}, 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 8388608}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/t.img', 'host-key-check': {'hash': 'f3386a5742ddc4a04244118e59a1f92b', 'type': 'md5', 'mode': 'hash'}, 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 8388608}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
> @@ -49,13 +49,13 @@ image: json:{"driver": "IMGFMT", "file": {"server.host": "127.0.0.1", "server.po
>  file format: IMGFMT
>  virtual size: 8.0M (8388608 bytes)
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/t.img', 'host-key-check': {'hash': 'wrong', 'type': 'sha1', 'mode': 'hash'}, 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 2097152}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/t.img', 'host-key-check': {'hash': 'wrong', 'type': 'sha1', 'mode': 'hash'}, 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 2097152}}}
>  {u'return': {}}
>  Job failed: remote host key does not match host_key_check 'wrong'
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/t.img', 'host-key-check': {'hash': 'c6142e54650531177fa3d88ac52501ae00ccff69', 'type': 'sha1', 'mode': 'hash'}, 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 4194304}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/t.img', 'host-key-check': {'hash': 'c6142e54650531177fa3d88ac52501ae00ccff69', 'type': 'sha1', 'mode': 'hash'}, 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 4194304}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
> @@ -66,13 +66,13 @@ virtual size: 4.0M (4194304 bytes)
>  
>  === Invalid path and user ===
>  
> -{'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}}}
> +{'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}}}
>  {u'return': {}}
>  Job failed: failed to open remote file '/this/is/not/an/existing/path': Failed opening remote file (libssh2 error code: -31)
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/t.img', 'host-key-check': {'mode': 'none'}, 'user': 'invalid user', 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 4194304}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'ssh', 'location': {'path': 'TEST_DIR/t.img', 'host-key-check': {'mode': 'none'}, 'user': 'invalid user', 'server': {'host': '127.0.0.1', 'port': '22'}}, 'size': 4194304}}}
>  {u'return': {}}
>  Job failed: failed to authenticate using publickey authentication and the identities held by your ssh-agent
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
> diff --git a/tests/qemu-iotests/210 b/tests/qemu-iotests/210
> index ff4fddea56..d142841e2b 100755
> --- a/tests/qemu-iotests/210
> +++ b/tests/qemu-iotests/210
> @@ -27,7 +27,7 @@ iotests.verify_image_format(supported_fmts=['luks'])
>  iotests.verify_protocol(supported=['file'])
>  
>  def blockdev_create(vm, options):
> -    result = vm.qmp_log('x-blockdev-create', job_id='job0', options=options)
> +    result = vm.qmp_log('blockdev-create', job_id='job0', options=options)
>  
>      if 'return' in result:
>          assert result['return'] == {}
> diff --git a/tests/qemu-iotests/210.out b/tests/qemu-iotests/210.out
> index 116218ae4e..ffdf8b4ce9 100644
> --- a/tests/qemu-iotests/210.out
> +++ b/tests/qemu-iotests/210.out
> @@ -1,13 +1,13 @@
>  === Successful image creation (defaults) ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/t.luks'}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/t.luks'}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
>  {'execute': 'blockdev-add', 'arguments': {'node_name': 'imgfile', 'driver': 'file', 'filename': 'TEST_DIR/t.luks'}}
>  {u'return': {}}
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'key-secret': 'keysec0', 'iter-time': 10, 'driver': 'luks', 'file': 'imgfile', 'size': 134217728}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'key-secret': 'keysec0', 'iter-time': 10, 'driver': 'luks', 'file': 'imgfile', 'size': 134217728}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
> @@ -54,12 +54,12 @@ Format specific information:
>  
>  === Successful image creation (with non-default options) ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/t.luks'}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/t.luks'}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'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/t.luks'}, 'iter-time': 10, 'ivgen-alg': 'plain64', 'ivgen-hash-alg': 'md5', 'driver': 'luks', 'size': 67108864}}}
> +{'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/t.luks'}, 'iter-time': 10, 'ivgen-alg': 'plain64', 'ivgen-hash-alg': 'md5', 'driver': 'luks', 'size': 67108864}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
> @@ -106,7 +106,7 @@ Format specific information:
>  
>  === Invalid BlockdevRef ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'luks', 'file': "this doesn't exist", 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'luks', 'file': "this doesn't exist", 'size': 67108864}}}
>  {u'return': {}}
>  Job failed: Cannot find device=this doesn't exist nor node_name=this doesn't exist
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
> @@ -114,7 +114,7 @@ Job failed: Cannot find device=this doesn't exist nor node_name=this doesn't exi
>  
>  === Zero size ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'key-secret': 'keysec0', 'iter-time': 10, 'driver': 'luks', 'file': 'node0', 'size': 0}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'key-secret': 'keysec0', 'iter-time': 10, 'driver': 'luks', 'file': 'node0', 'size': 0}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
> @@ -161,19 +161,19 @@ Format specific information:
>  
>  === Invalid sizes ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'key-secret': 'keysec0', 'driver': 'luks', 'file': 'node0', 'size': 18446744073709551104L}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'key-secret': 'keysec0', 'driver': 'luks', 'file': 'node0', 'size': 18446744073709551104L}}}
>  {u'return': {}}
>  Job failed: The requested file size is too large
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'key-secret': 'keysec0', 'driver': 'luks', 'file': 'node0', 'size': 9223372036854775808L}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'key-secret': 'keysec0', 'driver': 'luks', 'file': 'node0', 'size': 9223372036854775808L}}}
>  {u'return': {}}
>  Job failed: The requested file size is too large
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'key-secret': 'keysec0', 'driver': 'luks', 'file': 'node0', 'size': 9223372036854775296}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'key-secret': 'keysec0', 'driver': 'luks', 'file': 'node0', 'size': 9223372036854775296}}}
>  {u'return': {}}
>  Job failed: The requested file size is too large
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
> diff --git a/tests/qemu-iotests/211 b/tests/qemu-iotests/211
> index 2fd89cfb32..05215776ce 100755
> --- a/tests/qemu-iotests/211
> +++ b/tests/qemu-iotests/211
> @@ -27,7 +27,7 @@ iotests.verify_image_format(supported_fmts=['vdi'])
>  iotests.verify_protocol(supported=['file'])
>  
>  def blockdev_create(vm, options):
> -    result = vm.qmp_log('x-blockdev-create', job_id='job0', options=options)
> +    result = vm.qmp_log('blockdev-create', job_id='job0', options=options)
>  
>      if 'return' in result:
>          assert result['return'] == {}
> diff --git a/tests/qemu-iotests/211.out b/tests/qemu-iotests/211.out
> index 31ef74db4c..b43fb73f50 100644
> --- a/tests/qemu-iotests/211.out
> +++ b/tests/qemu-iotests/211.out
> @@ -1,13 +1,13 @@
>  === Successful image creation (defaults) ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
>  {'execute': 'blockdev-add', 'arguments': {'node_name': 'imgfile', 'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}}
>  {u'return': {}}
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vdi', 'file': 'imgfile', 'size': 134217728}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vdi', 'file': 'imgfile', 'size': 134217728}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
> @@ -21,12 +21,12 @@ cluster_size: 1048576
>  
>  === Successful image creation (explicit defaults) ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'preallocation': 'off', 'driver': 'vdi', 'file': {'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}, 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'preallocation': 'off', 'driver': 'vdi', 'file': {'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}, 'size': 67108864}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
> @@ -40,12 +40,12 @@ cluster_size: 1048576
>  
>  === Successful image creation (with non-default options) ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'preallocation': 'metadata', 'driver': 'vdi', 'file': {'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}, 'size': 33554432}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'preallocation': 'metadata', 'driver': 'vdi', 'file': {'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}, 'size': 33554432}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
> @@ -60,7 +60,7 @@ cluster_size: 1048576
>  
>  === Invalid BlockdevRef ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vdi', 'file': "this doesn't exist", 'size': 33554432}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vdi', 'file': "this doesn't exist", 'size': 33554432}}}
>  {u'return': {}}
>  Job failed: Cannot find device=this doesn't exist nor node_name=this doesn't exist
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
> @@ -68,7 +68,7 @@ Job failed: Cannot find device=this doesn't exist nor node_name=this doesn't exi
>  
>  === Zero size ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vdi', 'file': 'node0', 'size': 0}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vdi', 'file': 'node0', 'size': 0}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
> @@ -80,7 +80,7 @@ cluster_size: 1048576
>  
>  === Maximum size ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vdi', 'file': 'node0', 'size': 562949819203584}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vdi', 'file': 'node0', 'size': 562949819203584}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
> @@ -92,19 +92,19 @@ cluster_size: 1048576
>  
>  === Invalid sizes ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vdi', 'file': 'node0', 'size': 18446744073709551104L}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vdi', 'file': 'node0', 'size': 18446744073709551104L}}}
>  {u'return': {}}
>  Job failed: Unsupported VDI image size (size is 0xfffffffffffffe00, max supported is 0x1fffff8000000)
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vdi', 'file': 'node0', 'size': 9223372036854775808L}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vdi', 'file': 'node0', 'size': 9223372036854775808L}}}
>  {u'return': {}}
>  Job failed: Unsupported VDI image size (size is 0x8000000000000000, max supported is 0x1fffff8000000)
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vdi', 'file': 'node0', 'size': 562949819203585}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vdi', 'file': 'node0', 'size': 562949819203585}}}
>  {u'return': {}}
>  Job failed: Unsupported VDI image size (size is 0x1fffff8000001, max supported is 0x1fffff8000000)
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
> diff --git a/tests/qemu-iotests/212 b/tests/qemu-iotests/212
> index 5ac4947b82..d22dde12ad 100755
> --- a/tests/qemu-iotests/212
> +++ b/tests/qemu-iotests/212
> @@ -27,7 +27,7 @@ iotests.verify_image_format(supported_fmts=['parallels'])
>  iotests.verify_protocol(supported=['file'])
>  
>  def blockdev_create(vm, options):
> -    result = vm.qmp_log('x-blockdev-create', job_id='job0', options=options)
> +    result = vm.qmp_log('blockdev-create', job_id='job0', options=options)
>  
>      if 'return' in result:
>          assert result['return'] == {}
> diff --git a/tests/qemu-iotests/212.out b/tests/qemu-iotests/212.out
> index 25c5c46027..4230ef929c 100644
> --- a/tests/qemu-iotests/212.out
> +++ b/tests/qemu-iotests/212.out
> @@ -1,13 +1,13 @@
>  === Successful image creation (defaults) ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
>  {'execute': 'blockdev-add', 'arguments': {'node_name': 'imgfile', 'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}}
>  {u'return': {}}
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'imgfile', 'size': 134217728}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'imgfile', 'size': 134217728}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
> @@ -18,12 +18,12 @@ virtual size: 128M (134217728 bytes)
>  
>  === Successful image creation (explicit defaults) ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 1048576, 'driver': 'parallels', 'file': {'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}, 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 1048576, 'driver': 'parallels', 'file': {'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}, 'size': 67108864}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
> @@ -34,12 +34,12 @@ virtual size: 64M (67108864 bytes)
>  
>  === Successful image creation (with non-default options) ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 65536, 'driver': 'parallels', 'file': {'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}, 'size': 33554432}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 65536, 'driver': 'parallels', 'file': {'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}, 'size': 33554432}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
> @@ -50,7 +50,7 @@ virtual size: 32M (33554432 bytes)
>  
>  === Invalid BlockdevRef ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': "this doesn't exist", 'size': 33554432}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': "this doesn't exist", 'size': 33554432}}}
>  {u'return': {}}
>  Job failed: Cannot find device=this doesn't exist nor node_name=this doesn't exist
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
> @@ -58,7 +58,7 @@ Job failed: Cannot find device=this doesn't exist nor node_name=this doesn't exi
>  
>  === Zero size ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'node0', 'size': 0}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'node0', 'size': 0}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
> @@ -69,7 +69,7 @@ virtual size: 0 (0 bytes)
>  
>  === Maximum size ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'node0', 'size': 4503599627369984}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'node0', 'size': 4503599627369984}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
> @@ -80,31 +80,31 @@ virtual size: 4096T (4503599627369984 bytes)
>  
>  === Invalid sizes ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'node0', 'size': 1234}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'node0', 'size': 1234}}}
>  {u'return': {}}
>  Job failed: Image size must be a multiple of 512 bytes
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'node0', 'size': 18446744073709551104L}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'node0', 'size': 18446744073709551104L}}}
>  {u'return': {}}
>  Job failed: Image size is too large for this cluster size
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'node0', 'size': 9223372036854775808L}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'node0', 'size': 9223372036854775808L}}}
>  {u'return': {}}
>  Job failed: Image size is too large for this cluster size
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'node0', 'size': 9223372036854775296}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'node0', 'size': 9223372036854775296}}}
>  {u'return': {}}
>  Job failed: Image size is too large for this cluster size
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'node0', 'size': 4503599627370497}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'parallels', 'file': 'node0', 'size': 4503599627370497}}}
>  {u'return': {}}
>  Job failed: Image size is too large for this cluster size
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
> @@ -112,43 +112,43 @@ Job failed: Image size is too large for this cluster size
>  
>  === Invalid cluster size ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 1234, 'driver': 'parallels', 'file': 'node0', 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 1234, 'driver': 'parallels', 'file': 'node0', 'size': 67108864}}}
>  {u'return': {}}
>  Job failed: Cluster size must be a multiple of 512 bytes
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 128, 'driver': 'parallels', 'file': 'node0', 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 128, 'driver': 'parallels', 'file': 'node0', 'size': 67108864}}}
>  {u'return': {}}
>  Job failed: Cluster size must be a multiple of 512 bytes
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 4294967296, 'driver': 'parallels', 'file': 'node0', 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 4294967296, 'driver': 'parallels', 'file': 'node0', 'size': 67108864}}}
>  {u'return': {}}
>  Job failed: Cluster size is too large
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 9223372036854775808L, 'driver': 'parallels', 'file': 'node0', 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 9223372036854775808L, 'driver': 'parallels', 'file': 'node0', 'size': 67108864}}}
>  {u'return': {}}
>  Job failed: Cluster size is too large
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 18446744073709551104L, 'driver': 'parallels', 'file': 'node0', 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 18446744073709551104L, 'driver': 'parallels', 'file': 'node0', 'size': 67108864}}}
>  {u'return': {}}
>  Job failed: Cluster size is too large
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 0, 'driver': 'parallels', 'file': 'node0', 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 0, 'driver': 'parallels', 'file': 'node0', 'size': 67108864}}}
>  {u'return': {}}
>  Job failed: Image size is too large for this cluster size
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 512, 'driver': 'parallels', 'file': 'node0', 'size': 281474976710656}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'cluster-size': 512, 'driver': 'parallels', 'file': 'node0', 'size': 281474976710656}}}
>  {u'return': {}}
>  Job failed: Image size is too large for this cluster size
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
> diff --git a/tests/qemu-iotests/213 b/tests/qemu-iotests/213
> index fe4017edc7..ccc27e4b2c 100755
> --- a/tests/qemu-iotests/213
> +++ b/tests/qemu-iotests/213
> @@ -27,7 +27,7 @@ iotests.verify_image_format(supported_fmts=['vhdx'])
>  iotests.verify_protocol(supported=['file'])
>  
>  def blockdev_create(vm, options):
> -    result = vm.qmp_log('x-blockdev-create', job_id='job0', options=options)
> +    result = vm.qmp_log('blockdev-create', job_id='job0', options=options)
>  
>      if 'return' in result:
>          assert result['return'] == {}
> diff --git a/tests/qemu-iotests/213.out b/tests/qemu-iotests/213.out
> index 2b83e5df97..36a225f423 100644
> --- a/tests/qemu-iotests/213.out
> +++ b/tests/qemu-iotests/213.out
> @@ -1,13 +1,13 @@
>  === Successful image creation (defaults) ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
>  {'execute': 'blockdev-add', 'arguments': {'node_name': 'imgfile', 'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}}
>  {u'return': {}}
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': 'imgfile', 'size': 134217728}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': 'imgfile', 'size': 134217728}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
> @@ -19,12 +19,12 @@ cluster_size: 8388608
>  
>  === Successful image creation (explicit defaults) ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'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/t.vdi'}, 'block-state-zero': True, 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'block-size': 8388608, 'driver': 'vhdx', 'subformat': 'dynamic', 'log-size': 1048576, 'file': {'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}, 'block-state-zero': True, 'size': 67108864}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
> @@ -36,12 +36,12 @@ cluster_size: 8388608
>  
>  === Successful image creation (with non-default options) ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'size': 0, 'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'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/t.vdi'}, 'block-state-zero': False, 'size': 33554432}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'block-size': 268435456, 'driver': 'vhdx', 'subformat': 'fixed', 'log-size': 8388608, 'file': {'driver': 'file', 'filename': 'TEST_DIR/t.vdi'}, 'block-state-zero': False, 'size': 33554432}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
> @@ -53,7 +53,7 @@ cluster_size: 268435456
>  
>  === Invalid BlockdevRef ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': "this doesn't exist", 'size': 33554432}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': "this doesn't exist", 'size': 33554432}}}
>  {u'return': {}}
>  Job failed: Cannot find device=this doesn't exist nor node_name=this doesn't exist
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
> @@ -61,7 +61,7 @@ Job failed: Cannot find device=this doesn't exist nor node_name=this doesn't exi
>  
>  === Zero size ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': 'node0', 'size': 0}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': 'node0', 'size': 0}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
> @@ -73,7 +73,7 @@ cluster_size: 8388608
>  
>  === Maximum size ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': 'node0', 'size': 70368744177664}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': 'node0', 'size': 70368744177664}}}
>  {u'return': {}}
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
> @@ -85,25 +85,25 @@ cluster_size: 67108864
>  
>  === Invalid sizes ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': 'node0', 'size': 18446744073709551104L}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': 'node0', 'size': 18446744073709551104L}}}
>  {u'return': {}}
>  Job failed: Image size too large; max of 64TB
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': 'node0', 'size': 9223372036854775808L}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': 'node0', 'size': 9223372036854775808L}}}
>  {u'return': {}}
>  Job failed: Image size too large; max of 64TB
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': 'node0', 'size': 9223372036854775296}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': 'node0', 'size': 9223372036854775296}}}
>  {u'return': {}}
>  Job failed: Image size too large; max of 64TB
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': 'node0', 'size': 70368744177665}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'file': 'node0', 'size': 70368744177665}}}
>  {u'return': {}}
>  Job failed: Image size too large; max of 64TB
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
> @@ -111,31 +111,31 @@ Job failed: Image size too large; max of 64TB
>  
>  === Invalid block size ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'block-size': 1234567, 'file': 'node0', 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'block-size': 1234567, 'file': 'node0', 'size': 67108864}}}
>  {u'return': {}}
>  Job failed: Block size must be a multiple of 1 MB
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'block-size': 128, 'file': 'node0', 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'block-size': 128, 'file': 'node0', 'size': 67108864}}}
>  {u'return': {}}
>  Job failed: Block size must be a multiple of 1 MB
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'block-size': 3145728, 'file': 'node0', 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'block-size': 3145728, 'file': 'node0', 'size': 67108864}}}
>  {u'return': {}}
>  Job failed: Block size must be a power of two
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'block-size': 536870912, 'file': 'node0', 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'block-size': 536870912, 'file': 'node0', 'size': 67108864}}}
>  {u'return': {}}
>  Job failed: Block size must not exceed 268435456
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'block-size': 0, 'file': 'node0', 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'driver': 'vhdx', 'block-size': 0, 'file': 'node0', 'size': 67108864}}}
>  {u'return': {}}
>  Job failed: Block size must be a multiple of 1 MB
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
> @@ -143,25 +143,25 @@ Job failed: Block size must be a multiple of 1 MB
>  
>  === Invalid log size ===
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'log-size': 1234567, 'driver': 'vhdx', 'file': 'node0', 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'log-size': 1234567, 'driver': 'vhdx', 'file': 'node0', 'size': 67108864}}}
>  {u'return': {}}
>  Job failed: Log size must be a multiple of 1 MB
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'log-size': 128, 'driver': 'vhdx', 'file': 'node0', 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'log-size': 128, 'driver': 'vhdx', 'file': 'node0', 'size': 67108864}}}
>  {u'return': {}}
>  Job failed: Log size must be a multiple of 1 MB
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'log-size': 4294967296, 'driver': 'vhdx', 'file': 'node0', 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'log-size': 4294967296, 'driver': 'vhdx', 'file': 'node0', 'size': 67108864}}}
>  {u'return': {}}
>  Job failed: Log size must be smaller than 4 GB
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
>  {u'return': {}}
>  
> -{'execute': 'x-blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'log-size': 0, 'driver': 'vhdx', 'file': 'node0', 'size': 67108864}}}
> +{'execute': 'blockdev-create', 'arguments': {'job_id': 'job0', 'options': {'log-size': 0, 'driver': 'vhdx', 'file': 'node0', 'size': 67108864}}}
>  {u'return': {}}
>  Job failed: Log size must be a multiple of 1 MB
>  {'execute': 'job-dismiss', 'arguments': {'id': 'job0'}}
> -- 
> 2.13.6
> 
> 

  parent reply	other threads:[~2018-05-29 18:25 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-25 16:33 [Qemu-devel] [PATCH 00/14] block: Make blockdev-create a job and stable API Kevin Wolf
2018-05-25 16:33 ` [Qemu-devel] [PATCH 01/14] vdi: Fix vdi_co_do_create() return value Kevin Wolf
2018-05-29 10:38   ` Max Reitz
2018-05-29 14:45   ` [Qemu-devel] [Qemu-block] " Jeff Cody
2018-05-25 16:33 ` [Qemu-devel] [PATCH 02/14] vhdx: Fix vhdx_co_create() " Kevin Wolf
2018-05-29 10:40   ` Max Reitz
2018-05-29 14:44   ` [Qemu-devel] [Qemu-block] " Jeff Cody
2018-05-25 16:33 ` [Qemu-devel] [PATCH 03/14] job: Add error message for failing jobs Kevin Wolf
2018-05-29 11:01   ` Max Reitz
2018-05-29 14:43   ` [Qemu-devel] [Qemu-block] " Jeff Cody
2018-05-29 19:54     ` Kevin Wolf
2018-05-25 16:33 ` [Qemu-devel] [PATCH 04/14] block/create: Make x-blockdev-create a job Kevin Wolf
2018-05-29 11:38   ` Max Reitz
2018-05-29 15:27   ` [Qemu-devel] [Qemu-block] " Jeff Cody
2018-05-29 15:40     ` Kevin Wolf
2018-05-25 16:33 ` [Qemu-devel] [PATCH 05/14] qemu-iotests: Add VM.get_qmp_events_filtered() Kevin Wolf
2018-05-29 11:41   ` Max Reitz
2018-05-25 16:33 ` [Qemu-devel] [PATCH 06/14] qemu-iotests: Add VM.qmp_log() Kevin Wolf
2018-05-29 11:48   ` Max Reitz
2018-05-29 12:12     ` Kevin Wolf
2018-05-29 12:15       ` Max Reitz
2018-05-29 12:39         ` Kevin Wolf
2018-05-29 12:41           ` Max Reitz
2018-05-29 18:31   ` [Qemu-devel] [Qemu-block] " Jeff Cody
2018-05-25 16:33 ` [Qemu-devel] [PATCH 07/14] qemu-iotests: Add iotests.img_info_log() Kevin Wolf
2018-05-29 11:56   ` Max Reitz
2018-05-25 16:33 ` [Qemu-devel] [PATCH 08/14] qemu-iotests: Rewrite 206 for blockdev-create job Kevin Wolf
2018-05-29 12:27   ` Max Reitz
2018-05-29 18:49     ` Kevin Wolf
2018-05-25 16:33 ` [Qemu-devel] [PATCH 09/14] qemu-iotests: Rewrite 207 " Kevin Wolf
2018-05-29 12:44   ` Max Reitz
2018-05-29 12:47   ` Max Reitz
2018-05-29 17:52   ` [Qemu-devel] [Qemu-block] " Jeff Cody
2018-05-25 16:33 ` [Qemu-devel] [PATCH 10/14] qemu-iotests: Rewrite 210 " Kevin Wolf
2018-05-29 13:02   ` Max Reitz
2018-05-29 18:23   ` [Qemu-devel] [Qemu-block] " Jeff Cody
2018-05-25 16:33 ` [Qemu-devel] [PATCH 11/14] qemu-iotests: Rewrite 211 " Kevin Wolf
2018-05-29 13:12   ` Max Reitz
2018-05-25 16:33 ` [Qemu-devel] [PATCH 12/14] qemu-iotests: Rewrite 212 " Kevin Wolf
2018-05-29 13:21   ` Max Reitz
2018-05-25 16:33 ` [Qemu-devel] [PATCH 13/14] qemu-iotests: Rewrite 213 " Kevin Wolf
2018-05-29 13:27   ` Max Reitz
2018-05-25 16:33 ` [Qemu-devel] [PATCH 14/14] block/create: Mark blockdev-create stable Kevin Wolf
2018-05-29 13:30   ` Max Reitz
2018-05-29 18:25   ` Jeff Cody [this message]
2018-05-25 16:52 ` [Qemu-devel] [PATCH 00/14] block: Make blockdev-create a job and stable API no-reply
2018-05-25 18:13 ` Eric Blake
2018-05-28  8:42   ` Kevin Wolf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180529182509.GJ6999@localhost.localdomain \
    --to=jcody@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.