Loading block/vdi.c +35 −38 Original line number Diff line number Diff line Loading @@ -672,8 +672,7 @@ static int vdi_co_write(BlockDriverState *bs, return ret; } static int vdi_create(const char *filename, QEMUOptionParameter *options, Error **errp) static int vdi_create(const char *filename, QemuOpts *opts, Error **errp) { int fd; int result = 0; Loading @@ -688,25 +687,18 @@ static int vdi_create(const char *filename, QEMUOptionParameter *options, logout("\n"); /* Read out options. */ while (options && options->name) { if (!strcmp(options->name, BLOCK_OPT_SIZE)) { bytes = options->value.n; bytes = qemu_opt_get_size_del(opts, BLOCK_OPT_SIZE, 0); #if defined(CONFIG_VDI_BLOCK_SIZE) } else if (!strcmp(options->name, BLOCK_OPT_CLUSTER_SIZE)) { if (options->value.n) { /* TODO: Additional checks (SECTOR_SIZE * 2^n, ...). */ block_size = options->value.n; } block_size = qemu_opt_get_size_del(opts, BLOCK_OPT_CLUSTER_SIZE, DEFAULT_CLUSTER_SIZE); #endif #if defined(CONFIG_VDI_STATIC_IMAGE) } else if (!strcmp(options->name, BLOCK_OPT_STATIC)) { if (options->value.n) { if (qemu_opt_get_bool_del(opts, BLOCK_OPT_STATIC, false)) { image_type = VDI_TYPE_STATIC; } #endif } options++; } if (bytes > VDI_DISK_SIZE_MAX) { result = -ENOTSUP; Loading Loading @@ -801,29 +793,34 @@ static void vdi_close(BlockDriverState *bs) error_free(s->migration_blocker); } static QEMUOptionParameter vdi_create_options[] = { static QemuOptsList vdi_create_opts = { .name = "vdi-create-opts", .head = QTAILQ_HEAD_INITIALIZER(vdi_create_opts.head), .desc = { { .name = BLOCK_OPT_SIZE, .type = OPT_SIZE, .type = QEMU_OPT_SIZE, .help = "Virtual disk size" }, #if defined(CONFIG_VDI_BLOCK_SIZE) { .name = BLOCK_OPT_CLUSTER_SIZE, .type = OPT_SIZE, .type = QEMU_OPT_SIZE, .help = "VDI cluster (block) size", .value = { .n = DEFAULT_CLUSTER_SIZE }, .def_value_str = stringify(DEFAULT_CLUSTER_SIZE) }, #endif #if defined(CONFIG_VDI_STATIC_IMAGE) { .name = BLOCK_OPT_STATIC, .type = OPT_FLAG, .help = "VDI static (pre-allocated) image" .type = QEMU_OPT_BOOL, .help = "VDI static (pre-allocated) image", .def_value_str = "off" }, #endif /* TODO: An additional option to set UUID values might be useful. */ { NULL } { /* end of list */ } } }; static BlockDriver bdrv_vdi = { Loading @@ -833,7 +830,7 @@ static BlockDriver bdrv_vdi = { .bdrv_open = vdi_open, .bdrv_close = vdi_close, .bdrv_reopen_prepare = vdi_reopen_prepare, .bdrv_create = vdi_create, .bdrv_create2 = vdi_create, .bdrv_has_zero_init = bdrv_has_zero_init_1, .bdrv_co_get_block_status = vdi_co_get_block_status, .bdrv_make_empty = vdi_make_empty, Loading @@ -845,7 +842,7 @@ static BlockDriver bdrv_vdi = { .bdrv_get_info = vdi_get_info, .create_options = vdi_create_options, .create_opts = &vdi_create_opts, .bdrv_check = vdi_check, }; Loading Loading
block/vdi.c +35 −38 Original line number Diff line number Diff line Loading @@ -672,8 +672,7 @@ static int vdi_co_write(BlockDriverState *bs, return ret; } static int vdi_create(const char *filename, QEMUOptionParameter *options, Error **errp) static int vdi_create(const char *filename, QemuOpts *opts, Error **errp) { int fd; int result = 0; Loading @@ -688,25 +687,18 @@ static int vdi_create(const char *filename, QEMUOptionParameter *options, logout("\n"); /* Read out options. */ while (options && options->name) { if (!strcmp(options->name, BLOCK_OPT_SIZE)) { bytes = options->value.n; bytes = qemu_opt_get_size_del(opts, BLOCK_OPT_SIZE, 0); #if defined(CONFIG_VDI_BLOCK_SIZE) } else if (!strcmp(options->name, BLOCK_OPT_CLUSTER_SIZE)) { if (options->value.n) { /* TODO: Additional checks (SECTOR_SIZE * 2^n, ...). */ block_size = options->value.n; } block_size = qemu_opt_get_size_del(opts, BLOCK_OPT_CLUSTER_SIZE, DEFAULT_CLUSTER_SIZE); #endif #if defined(CONFIG_VDI_STATIC_IMAGE) } else if (!strcmp(options->name, BLOCK_OPT_STATIC)) { if (options->value.n) { if (qemu_opt_get_bool_del(opts, BLOCK_OPT_STATIC, false)) { image_type = VDI_TYPE_STATIC; } #endif } options++; } if (bytes > VDI_DISK_SIZE_MAX) { result = -ENOTSUP; Loading Loading @@ -801,29 +793,34 @@ static void vdi_close(BlockDriverState *bs) error_free(s->migration_blocker); } static QEMUOptionParameter vdi_create_options[] = { static QemuOptsList vdi_create_opts = { .name = "vdi-create-opts", .head = QTAILQ_HEAD_INITIALIZER(vdi_create_opts.head), .desc = { { .name = BLOCK_OPT_SIZE, .type = OPT_SIZE, .type = QEMU_OPT_SIZE, .help = "Virtual disk size" }, #if defined(CONFIG_VDI_BLOCK_SIZE) { .name = BLOCK_OPT_CLUSTER_SIZE, .type = OPT_SIZE, .type = QEMU_OPT_SIZE, .help = "VDI cluster (block) size", .value = { .n = DEFAULT_CLUSTER_SIZE }, .def_value_str = stringify(DEFAULT_CLUSTER_SIZE) }, #endif #if defined(CONFIG_VDI_STATIC_IMAGE) { .name = BLOCK_OPT_STATIC, .type = OPT_FLAG, .help = "VDI static (pre-allocated) image" .type = QEMU_OPT_BOOL, .help = "VDI static (pre-allocated) image", .def_value_str = "off" }, #endif /* TODO: An additional option to set UUID values might be useful. */ { NULL } { /* end of list */ } } }; static BlockDriver bdrv_vdi = { Loading @@ -833,7 +830,7 @@ static BlockDriver bdrv_vdi = { .bdrv_open = vdi_open, .bdrv_close = vdi_close, .bdrv_reopen_prepare = vdi_reopen_prepare, .bdrv_create = vdi_create, .bdrv_create2 = vdi_create, .bdrv_has_zero_init = bdrv_has_zero_init_1, .bdrv_co_get_block_status = vdi_co_get_block_status, .bdrv_make_empty = vdi_make_empty, Loading @@ -845,7 +842,7 @@ static BlockDriver bdrv_vdi = { .bdrv_get_info = vdi_get_info, .create_options = vdi_create_options, .create_opts = &vdi_create_opts, .bdrv_check = vdi_check, }; Loading