From: Alberto Garcia Date: Mon, 12 Nov 2018 14:00:34 +0000 (+0200) Subject: block: Use bdrv_reopen_set_read_only() in bdrv_backing_update_filename() X-Git-Tag: v4.0.0-rc0~208^2~15 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=e94d3dba6a91e3c0be59b20cc841c9da8a49f7aa;p=users%2Fdwmw2%2Fqemu.git block: Use bdrv_reopen_set_read_only() in bdrv_backing_update_filename() This patch replaces the bdrv_reopen() calls that set and remove the BDRV_O_RDWR flag with the new bdrv_reopen_set_read_only() function. Signed-off-by: Alberto Garcia Reviewed-by: Max Reitz Signed-off-by: Kevin Wolf --- diff --git a/block.c b/block.c index 7178872560..d7b94794f4 100644 --- a/block.c +++ b/block.c @@ -1079,11 +1079,11 @@ static int bdrv_backing_update_filename(BdrvChild *c, BlockDriverState *base, const char *filename, Error **errp) { BlockDriverState *parent = c->opaque; - int orig_flags = bdrv_get_flags(parent); + bool read_only = bdrv_is_read_only(parent); int ret; - if (!(orig_flags & BDRV_O_RDWR)) { - ret = bdrv_reopen(parent, orig_flags | BDRV_O_RDWR, errp); + if (read_only) { + ret = bdrv_reopen_set_read_only(parent, false, errp); if (ret < 0) { return ret; } @@ -1095,8 +1095,8 @@ static int bdrv_backing_update_filename(BdrvChild *c, BlockDriverState *base, error_setg_errno(errp, -ret, "Could not update backing file link"); } - if (!(orig_flags & BDRV_O_RDWR)) { - bdrv_reopen(parent, orig_flags, NULL); + if (read_only) { + bdrv_reopen_set_read_only(parent, true, NULL); } return ret;