From: Kevin Wolf Date: Thu, 16 Apr 2015 09:36:10 +0000 (+0200) Subject: qcow2: Move qcow2_update_options() call up X-Git-Tag: v2.5.0-rc0~128^2~11 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=90efa0eaef2d1bbd161db6fd7a74d8e5a00d35a8;p=thirdparty%2Fqemu.git 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 Reviewed-by: Eric Blake Reviewed-by: Max Reitz --- diff --git a/block/qcow2.c b/block/qcow2.c index 4dd0699858a..be6b3c24d55 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -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};