qcow2: Move qcow2_update_options() call up

qcow2_update_options() only updates some variables in BDRVQcowState and
doesn't really depend on other parts of it being initialised yet, so it
can be moved so that it immediately follows the other half of option
handling code in qcow2_open().

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
This commit is contained in:
Kevin Wolf 2015-04-16 11:36:10 +02:00
parent 4c75d1a157
commit 90efa0eaef
1 changed files with 9 additions and 9 deletions

View File

@ -979,6 +979,15 @@ static int qcow2_open(BlockDriverState *bs, QDict *options, int flags,
s->cache_clean_interval = cache_clean_interval;
cache_clean_timer_init(bs, bdrv_get_aio_context(bs));
/* Enable lazy_refcounts according to image and command line options */
ret = qcow2_update_options(bs, opts, flags, errp);
if (ret < 0) {
goto fail;
}
qemu_opts_del(opts);
opts = NULL;
s->cluster_cache = g_malloc(s->cluster_size);
/* one more sector for decompressed data alignment */
s->cluster_data = qemu_try_blockalign(bs->file, QCOW_MAX_CRYPT_CLUSTERS
@ -1063,15 +1072,6 @@ static int qcow2_open(BlockDriverState *bs, QDict *options, int flags,
}
}
/* Enable lazy_refcounts according to image and command line options */
ret = qcow2_update_options(bs, opts, flags, errp);
if (ret < 0) {
goto fail;
}
qemu_opts_del(opts);
opts = NULL;
#ifdef DEBUG_ALLOC
{
BdrvCheckResult result = {0};