summaryrefslogtreecommitdiffstats
path: root/block.c
diff options
context:
space:
mode:
authorAlberto Garcia2018-11-12 15:00:34 +0100
committerKevin Wolf2018-12-14 11:55:01 +0100
commite94d3dba6a91e3c0be59b20cc841c9da8a49f7aa (patch)
tree2cd24962e18558b90c1f7eaa13b4022bd4e1b4d8 /block.c
parentblock: Add bdrv_reopen_set_read_only() (diff)
downloadqemu-e94d3dba6a91e3c0be59b20cc841c9da8a49f7aa.tar.gz
qemu-e94d3dba6a91e3c0be59b20cc841c9da8a49f7aa.tar.xz
qemu-e94d3dba6a91e3c0be59b20cc841c9da8a49f7aa.zip
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 <berto@igalia.com> Reviewed-by: Max Reitz <mreitz@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'block.c')
-rw-r--r--block.c10
1 files changed, 5 insertions, 5 deletions
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;