[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 22/26] vmdk: migrate vmdk driver QemuOptionParameter
From: |
Leandro Dorileo |
Subject: |
[Qemu-devel] [PATCH 22/26] vmdk: migrate vmdk driver QemuOptionParameter usage |
Date: |
Thu, 20 Mar 2014 21:13:29 -0300 |
Do the directly migration from QemuOptionParameter to QemuOpts on
vmdk block driver.
Signed-off-by: Leandro Dorileo <address@hidden>
---
block/vmdk.c | 105 ++++++++++++++++++++++++++++++-----------------------------
1 file changed, 53 insertions(+), 52 deletions(-)
diff --git a/block/vmdk.c b/block/vmdk.c
index b69988d..1974c30 100644
--- a/block/vmdk.c
+++ b/block/vmdk.c
@@ -1681,8 +1681,7 @@ static int filename_decompose(const char *filename, char
*path, char *prefix,
return VMDK_OK;
}
-static int vmdk_create(const char *filename, QEMUOptionParameter *options,
- Error **errp)
+static int vmdk_create(const char *filename, QemuOpts *options, Error **errp)
{
int idx = 0;
BlockDriverState *new_bs = NULL;
@@ -1704,6 +1703,7 @@ static int vmdk_create(const char *filename,
QEMUOptionParameter *options,
uint32_t number_heads = 16;
bool zeroed_grain = false;
uint32_t desc_offset = 0, desc_len;
+ bool compat6;
const char desc_template[] =
"# Disk DescriptorFile\n"
"version=1\n"
@@ -1730,23 +1730,19 @@ static int vmdk_create(const char *filename,
QEMUOptionParameter *options,
ret = -EINVAL;
goto exit;
}
- /* Read out options */
- while (options && options->name) {
- if (!strcmp(options->name, BLOCK_OPT_SIZE)) {
- total_size = options->value.n;
- } else if (!strcmp(options->name, BLOCK_OPT_ADAPTER_TYPE)) {
- adapter_type = options->value.s;
- } else if (!strcmp(options->name, BLOCK_OPT_BACKING_FILE)) {
- backing_file = options->value.s;
- } else if (!strcmp(options->name, BLOCK_OPT_COMPAT6)) {
- flags |= options->value.n ? BLOCK_FLAG_COMPAT6 : 0;
- } else if (!strcmp(options->name, BLOCK_OPT_SUBFMT)) {
- fmt = options->value.s;
- } else if (!strcmp(options->name, BLOCK_OPT_ZEROED_GRAIN)) {
- zeroed_grain |= options->value.n;
- }
- options++;
+
+ total_size = qemu_opt_get_size(options, BLOCK_OPT_SIZE, 0);
+ adapter_type = qemu_opt_get(options, BLOCK_OPT_ADAPTER_TYPE);
+ backing_file = qemu_opt_get(options, BLOCK_OPT_BACKING_FILE);
+
+ compat6 = qemu_opt_get_bool(options, BLOCK_OPT_COMPAT6, false);
+ if (compat6) {
+ flags |= BLOCK_FLAG_COMPAT6;
}
+
+ fmt = qemu_opt_get(options, BLOCK_OPT_SUBFMT);
+ zeroed_grain = qemu_opt_get_bool(options, BLOCK_OPT_ZEROED_GRAIN, false);
+
if (!adapter_type) {
adapter_type = "ide";
} else if (strcmp(adapter_type, "ide") &&
@@ -2062,41 +2058,46 @@ static ImageInfoSpecific
*vmdk_get_specific_info(BlockDriverState *bs)
return spec_info;
}
-static QEMUOptionParameter vmdk_create_options[] = {
- {
- .name = BLOCK_OPT_SIZE,
- .type = OPT_SIZE,
- .help = "Virtual disk size"
- },
- {
- .name = BLOCK_OPT_ADAPTER_TYPE,
- .type = OPT_STRING,
- .help = "Virtual adapter type, can be one of "
- "ide (default), lsilogic, buslogic or legacyESX"
- },
- {
- .name = BLOCK_OPT_BACKING_FILE,
- .type = OPT_STRING,
- .help = "File name of a base image"
- },
- {
- .name = BLOCK_OPT_COMPAT6,
- .type = OPT_FLAG,
- .help = "VMDK version 6 image"
- },
- {
- .name = BLOCK_OPT_SUBFMT,
- .type = OPT_STRING,
- .help =
+static QemuOptsList vmdk_create_options = {
+ .name = "vmdk_create_options",
+ .head = QTAILQ_HEAD_INITIALIZER(vmdk_create_options.head),
+ .desc = {
+ {
+ .name = BLOCK_OPT_SIZE,
+ .type = QEMU_OPT_SIZE,
+ .help = "Virtual disk size"
+ },
+ {
+ .name = BLOCK_OPT_ADAPTER_TYPE,
+ .type = QEMU_OPT_STRING,
+ .help = "Virtual adapter type, can be one of "
+ "ide (default), lsilogic, buslogic or legacyESX"
+ },
+ {
+ .name = BLOCK_OPT_BACKING_FILE,
+ .type = QEMU_OPT_STRING,
+ .help = "File name of a base image"
+ },
+ {
+ .name = BLOCK_OPT_COMPAT6,
+ .type = QEMU_OPT_BOOL,
+ .help = "VMDK version 6 image"
+ },
+ {
+ .name = BLOCK_OPT_SUBFMT,
+ .type = QEMU_OPT_STRING,
+ .help =
"VMDK flat extent format, can be one of "
"{monolithicSparse (default) | monolithicFlat |
twoGbMaxExtentSparse | twoGbMaxExtentFlat | streamOptimized} "
- },
- {
- .name = BLOCK_OPT_ZEROED_GRAIN,
- .type = OPT_FLAG,
- .help = "Enable efficient zero writes using the zeroed-grain GTE
feature"
- },
- { NULL }
+ },
+ {
+ .name = BLOCK_OPT_ZEROED_GRAIN,
+ .type = QEMU_OPT_BOOL,
+ .help = "Enable efficient zero writes using the zeroed-grain "
+ "GTE feature"
+ },
+ { NULL }
+ }
};
static BlockDriver bdrv_vmdk = {
@@ -2118,7 +2119,7 @@ static BlockDriver bdrv_vmdk = {
.bdrv_get_specific_info = vmdk_get_specific_info,
.bdrv_refresh_limits = vmdk_refresh_limits,
- .create_options = vmdk_create_options,
+ .create_options = &vmdk_create_options,
};
static void bdrv_vmdk_init(void)
--
1.9.0
- [Qemu-devel] [PATCH 09/26] iscsi: migrate iscsi driver QemuOptionParameter usage, (continued)
- [Qemu-devel] [PATCH 09/26] iscsi: migrate iscsi driver QemuOptionParameter usage, Leandro Dorileo, 2014/03/20
- [Qemu-devel] [PATCH 10/26] nfs: migrate nfs driver QemuOptionParameter usage, Leandro Dorileo, 2014/03/20
- [Qemu-devel] [PATCH 11/26] qcow: migrate qcow driver QemuOptionParameter usage, Leandro Dorileo, 2014/03/20
- [Qemu-devel] [PATCH 12/26] qcow2: migrate qcow2 driver QemuOptionParameter usage, Leandro Dorileo, 2014/03/20
- [Qemu-devel] [PATCH 13/26] qed: migrate qed driver QemuOptionParameter usage, Leandro Dorileo, 2014/03/20
- [Qemu-devel] [PATCH 14/26] raw-posix: migrate raw-posix driver QemuOptionParameter usage, Leandro Dorileo, 2014/03/20
- [Qemu-devel] [PATCH 15/26] raw-win32: migrate cow driver QemuOptionParameter usage, Leandro Dorileo, 2014/03/20
- [Qemu-devel] [PATCH 16/26] raw_bsd: migrate raw_bsd driver QemuOptionParameter usage, Leandro Dorileo, 2014/03/20
- [Qemu-devel] [PATCH 21/26] vhdx: migrate vhdx driver QemuOptionParameter usage, Leandro Dorileo, 2014/03/20
- [Qemu-devel] [PATCH 22/26] vmdk: migrate vmdk driver QemuOptionParameter usage,
Leandro Dorileo <=
- [Qemu-devel] [PATCH 23/26] vpc: migrate vpc driver QemuOptionParameter usage, Leandro Dorileo, 2014/03/20
- [Qemu-devel] [PATCH 24/26] vvfat: migrate vvfat driver QemuOptionParameter usage, Leandro Dorileo, 2014/03/20
- [Qemu-devel] [PATCH 25/26] QemuOpt: get rid of QEMUOptionParameter, Leandro Dorileo, 2014/03/20
- [Qemu-devel] [PATCH 26/26] qemu-img: migrate QemuOptionParameter usage, Leandro Dorileo, 2014/03/20
- [Qemu-devel] [PATCH 18/26] sheepdog: migrate sheepdog driver QemuOptionParameter usage, Leandro Dorileo, 2014/03/20
- [Qemu-devel] [PATCH 20/26] vdi: migrate vdi driver QemuOptionParameter usage, Leandro Dorileo, 2014/03/20
- [Qemu-devel] [PATCH 19/26] ssh: migrate ssh driver QemuOptionParameter usage, Leandro Dorileo, 2014/03/20
- [Qemu-devel] [PATCH 17/26] rbd: migrate rbd driver QemuOptionParameter usage, Leandro Dorileo, 2014/03/20