diff options
author | Kevin Wolf <kwolf@redhat.com> | 2017-08-03 17:02:59 +0200 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2017-08-08 15:19:16 +0200 |
commit | fd4520212bd4fc9c86db4ccd4d9c3d612e8e58f9 (patch) | |
tree | a51eb26f6950bb99f31a58048be3fb943526fb72 | |
parent | 54a32bfec140e03ebb19863db944b1c81e4df25e (diff) | |
download | qemu-fd4520212bd4fc9c86db4ccd4d9c3d612e8e58f9.zip qemu-fd4520212bd4fc9c86db4ccd4d9c3d612e8e58f9.tar.gz qemu-fd4520212bd4fc9c86db4ccd4d9c3d612e8e58f9.tar.bz2 |
block: Set BDRV_O_ALLOW_RDWR during rw reopen
Reopening an image should be consistent with opening it, so we should
set BDRV_O_ALLOW_RDWR for any image that is reopened read-write like in
bdrv_open_inherit().
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Jeff Cody <jcody@redhat.com>
Reviewed-by: John Snow <jsnow@redhat.com>
-rw-r--r-- | block.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -2729,8 +2729,11 @@ static BlockReopenQueue *bdrv_reopen_queue_child(BlockReopenQueue *bs_queue, bdrv_join_options(bs, options, old_options); QDECREF(old_options); - /* bdrv_open() masks this flag out */ + /* bdrv_open_inherit() sets and clears some additional flags internally */ flags &= ~BDRV_O_PROTOCOL; + if (flags & BDRV_O_RDWR) { + flags |= BDRV_O_ALLOW_RDWR; + } QLIST_FOREACH(child, &bs->children, next) { QDict *new_child_options; |