[Qemu-devel] [PATCH v2 0/4] vmdk: Implement x-blockdev-create

Fam Zheng posted 4 patches 5 years, 11 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20180515153634.5868-1-famz@redhat.com
Test checkpatch passed
Test docker-mingw@fedora passed
Test docker-quick@centos7 passed
Test s390x passed
block/vmdk.c                     | 530 +++++++++++++++++++++++++++------------
qapi/block-core.json             |  67 ++++-
qapi/qapi-schema.json            |   1 +
tests/qemu-iotests/214           | 268 ++++++++++++++++++++
tests/qemu-iotests/214.out       | 304 ++++++++++++++++++++++
tests/qemu-iotests/common.filter |   1 +
tests/qemu-iotests/group         |   1 +
7 files changed, 1016 insertions(+), 156 deletions(-)
create mode 100755 tests/qemu-iotests/214
create mode 100644 tests/qemu-iotests/214.out
[Qemu-devel] [PATCH v2 0/4] vmdk: Implement x-blockdev-create
Posted by Fam Zheng 5 years, 11 months ago
v2: Respin after comments by Markus:
    - QAPI: drop qapi_enum_parse_full patch.
    - Drop vmdk_subformat_str.
    - Fix an uninitialized variable error.
    - Authentic casing for subformat enum.

This adds vmdk support to x-blockdev-create command.

Unlike other formats, several VMDK subformats consists of multiple files
(extents). In the QAPI interface we use an array of BlockdevRef to pass in. The
management tool need to figure out how many extent files are needed but that is
simple enough. There is a convention how VMware (as well as qemu-img) builds
the extents' file names, but that isn't standardized, therefore it is not
documented as part of this API.  Extraneous extents in the end of the provided
array are ignored.

A big part of the patch is refactoring so that BlockdevRef parsing can be
hooked in.

Please review! Thanks.

Fam Zheng (4):
  vmdk: Refactor vmdk_create_extent
  vmdk: Implement .bdrv_co_create callback
  iotests: Filter cid numbers in VMDK extent info
  iotests: Add VMDK tests for blockdev-create

 block/vmdk.c                     | 530 +++++++++++++++++++++++++++------------
 qapi/block-core.json             |  67 ++++-
 qapi/qapi-schema.json            |   1 +
 tests/qemu-iotests/214           | 268 ++++++++++++++++++++
 tests/qemu-iotests/214.out       | 304 ++++++++++++++++++++++
 tests/qemu-iotests/common.filter |   1 +
 tests/qemu-iotests/group         |   1 +
 7 files changed, 1016 insertions(+), 156 deletions(-)
 create mode 100755 tests/qemu-iotests/214
 create mode 100644 tests/qemu-iotests/214.out

-- 
2.14.3