qcow2: Use symbolic macros in qcow2_amend_options

qcow2_amend_options() should not compare options against some inline
strings but rather use the symbolic macros available for each of the
creation options.

Signed-off-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
Max Reitz 2015-02-18 17:40:47 -05:00 committed by Kevin Wolf
parent bd4b167f84
commit 8a17b83cc3
1 changed files with 16 additions and 15 deletions

View File

@ -2672,8 +2672,8 @@ static int qcow2_amend_options(BlockDriverState *bs, QemuOpts *opts,
continue; continue;
} }
if (!strcmp(desc->name, "compat")) { if (!strcmp(desc->name, BLOCK_OPT_COMPAT_LEVEL)) {
compat = qemu_opt_get(opts, "compat"); compat = qemu_opt_get(opts, BLOCK_OPT_COMPAT_LEVEL);
if (!compat) { if (!compat) {
/* preserve default */ /* preserve default */
} else if (!strcmp(compat, "0.10")) { } else if (!strcmp(compat, "0.10")) {
@ -2684,32 +2684,33 @@ static int qcow2_amend_options(BlockDriverState *bs, QemuOpts *opts,
fprintf(stderr, "Unknown compatibility level %s.\n", compat); fprintf(stderr, "Unknown compatibility level %s.\n", compat);
return -EINVAL; return -EINVAL;
} }
} else if (!strcmp(desc->name, "preallocation")) { } else if (!strcmp(desc->name, BLOCK_OPT_PREALLOC)) {
fprintf(stderr, "Cannot change preallocation mode.\n"); fprintf(stderr, "Cannot change preallocation mode.\n");
return -ENOTSUP; return -ENOTSUP;
} else if (!strcmp(desc->name, "size")) { } else if (!strcmp(desc->name, BLOCK_OPT_SIZE)) {
new_size = qemu_opt_get_size(opts, "size", 0); new_size = qemu_opt_get_size(opts, BLOCK_OPT_SIZE, 0);
} else if (!strcmp(desc->name, "backing_file")) { } else if (!strcmp(desc->name, BLOCK_OPT_BACKING_FILE)) {
backing_file = qemu_opt_get(opts, "backing_file"); backing_file = qemu_opt_get(opts, BLOCK_OPT_BACKING_FILE);
} else if (!strcmp(desc->name, "backing_fmt")) { } else if (!strcmp(desc->name, BLOCK_OPT_BACKING_FMT)) {
backing_format = qemu_opt_get(opts, "backing_fmt"); backing_format = qemu_opt_get(opts, BLOCK_OPT_BACKING_FMT);
} else if (!strcmp(desc->name, "encryption")) { } else if (!strcmp(desc->name, BLOCK_OPT_ENCRYPT)) {
encrypt = qemu_opt_get_bool(opts, "encryption", s->crypt_method); encrypt = qemu_opt_get_bool(opts, BLOCK_OPT_ENCRYPT,
s->crypt_method);
if (encrypt != !!s->crypt_method) { if (encrypt != !!s->crypt_method) {
fprintf(stderr, "Changing the encryption flag is not " fprintf(stderr, "Changing the encryption flag is not "
"supported.\n"); "supported.\n");
return -ENOTSUP; return -ENOTSUP;
} }
} else if (!strcmp(desc->name, "cluster_size")) { } else if (!strcmp(desc->name, BLOCK_OPT_CLUSTER_SIZE)) {
cluster_size = qemu_opt_get_size(opts, "cluster_size", cluster_size = qemu_opt_get_size(opts, BLOCK_OPT_CLUSTER_SIZE,
cluster_size); cluster_size);
if (cluster_size != s->cluster_size) { if (cluster_size != s->cluster_size) {
fprintf(stderr, "Changing the cluster size is not " fprintf(stderr, "Changing the cluster size is not "
"supported.\n"); "supported.\n");
return -ENOTSUP; return -ENOTSUP;
} }
} else if (!strcmp(desc->name, "lazy_refcounts")) { } else if (!strcmp(desc->name, BLOCK_OPT_LAZY_REFCOUNTS)) {
lazy_refcounts = qemu_opt_get_bool(opts, "lazy_refcounts", lazy_refcounts = qemu_opt_get_bool(opts, BLOCK_OPT_LAZY_REFCOUNTS,
lazy_refcounts); lazy_refcounts);
} else { } else {
/* if this assertion fails, this probably means a new option was /* if this assertion fails, this probably means a new option was