block: Update flags in bdrv_set_read_only()

To fully change the read-only state of a node, we must not only change
bs->read_only, but also update bs->open_flags.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
This commit is contained in:
Kevin Wolf 2018-10-09 16:57:12 +02:00
parent 04f600ef7c
commit eeae6a596b
1 changed files with 7 additions and 0 deletions

View File

@ -281,6 +281,13 @@ int bdrv_set_read_only(BlockDriverState *bs, bool read_only, Error **errp)
}
bs->read_only = read_only;
if (read_only) {
bs->open_flags &= ~BDRV_O_RDWR;
} else {
bs->open_flags |= BDRV_O_RDWR;
}
return 0;
}