From 9b7e8691670fab57c387b6955dc14a09696ae034 Mon Sep 17 00:00:00 2001 From: Alberto Garcia Date: Thu, 15 Sep 2016 17:53:01 +0300 Subject: 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 --- block.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'block.c') 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) { -- cgit v1.2.3