From: Alberto Garcia Date: Thu, 15 Sep 2016 14:53:01 +0000 (+0300) Subject: block: Update bs->open_flags earlier in bdrv_open_common() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=9b7e8691670fab57c387b6955dc14a09696ae034;p=qemu.git block: Update bs->open_flags earlier in bdrv_open_common() We're only doing this immediately before opening the image, but bs->open_flags is used earlier in the function. At the moment this is not causing problems because none of the checked flags are modified by update_flags_from_options(), but this will change when we introduce the "read-only" option. This patch calls update_flags_from_options() at the beginning of the function, immediately after creating the QemuOpts. Signed-off-by: Alberto Garcia Reviewed-by: Kevin Wolf Signed-off-by: Kevin Wolf --- diff --git a/block.c b/block.c index 324dbe702b..a98b75e4df 100644 --- a/block.c +++ b/block.c @@ -961,6 +961,8 @@ static int bdrv_open_common(BlockDriverState *bs, BdrvChild *file, goto fail_opts; } + update_flags_from_options(&bs->open_flags, opts); + driver_name = qemu_opt_get(opts, "driver"); drv = bdrv_find_format(driver_name); assert(drv != NULL); @@ -1022,9 +1024,6 @@ static int bdrv_open_common(BlockDriverState *bs, BdrvChild *file, bs->drv = drv; bs->opaque = g_malloc0(drv->instance_size); - /* Apply cache mode options */ - update_flags_from_options(&bs->open_flags, opts); - /* Open the image, either directly or using a protocol */ open_flags = bdrv_open_flags(bs, bs->open_flags); if (drv->bdrv_file_open) {