diff options
-rw-r--r-- | block/qcow2.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/block/qcow2.c b/block/qcow2.c index 4dd0699858..be6b3c24d5 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}; |