qemu-img: use QemuOpts instead of QEMUOptionParameter in resize function
Signed-off-by: Dong Xu Wang <wdongxu@linux.vnet.ibm.com> Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
b0869a46b2
commit
20caf0f766
28
qemu-img.c
28
qemu-img.c
@ -1567,14 +1567,19 @@ static int img_resize(int argc, char **argv)
|
||||
const char *filename, *fmt, *size;
|
||||
int64_t n, total_size;
|
||||
BlockDriverState *bs = NULL;
|
||||
QEMUOptionParameter *param;
|
||||
QEMUOptionParameter resize_options[] = {
|
||||
{
|
||||
.name = BLOCK_OPT_SIZE,
|
||||
.type = OPT_SIZE,
|
||||
.help = "Virtual disk size"
|
||||
QemuOpts *param;
|
||||
static QemuOptsList resize_options = {
|
||||
.name = "resize_options",
|
||||
.head = QTAILQ_HEAD_INITIALIZER(resize_options.head),
|
||||
.desc = {
|
||||
{
|
||||
.name = BLOCK_OPT_SIZE,
|
||||
.type = QEMU_OPT_SIZE,
|
||||
.help = "Virtual disk size"
|
||||
}, {
|
||||
/* end of list */
|
||||
}
|
||||
},
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
/* Remove size from argv manually so that negative numbers are not treated
|
||||
@ -1624,14 +1629,15 @@ static int img_resize(int argc, char **argv)
|
||||
}
|
||||
|
||||
/* Parse size */
|
||||
param = parse_option_parameters("", resize_options, NULL);
|
||||
if (set_option_parameter(param, BLOCK_OPT_SIZE, size)) {
|
||||
param = qemu_opts_create(&resize_options, NULL, 0, NULL);
|
||||
if (qemu_opt_set(param, BLOCK_OPT_SIZE, size)) {
|
||||
/* Error message already printed when size parsing fails */
|
||||
ret = -1;
|
||||
qemu_opts_del(param);
|
||||
goto out;
|
||||
}
|
||||
n = get_option_parameter(param, BLOCK_OPT_SIZE)->value.n;
|
||||
free_option_parameters(param);
|
||||
n = qemu_opt_get_size(param, BLOCK_OPT_SIZE, 0);
|
||||
qemu_opts_del(param);
|
||||
|
||||
bs = bdrv_new_open(filename, fmt, BDRV_O_FLAGS | BDRV_O_RDWR);
|
||||
if (!bs) {
|
||||
|
Loading…
Reference in New Issue
Block a user