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>
This commit is contained in:
parent
54a32bfec1
commit
fd4520212b
5
block.c
5
block.c
@ -2729,8 +2729,11 @@ static BlockReopenQueue *bdrv_reopen_queue_child(BlockReopenQueue *bs_queue,
|
|||||||
bdrv_join_options(bs, options, old_options);
|
bdrv_join_options(bs, options, old_options);
|
||||||
QDECREF(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;
|
flags &= ~BDRV_O_PROTOCOL;
|
||||||
|
if (flags & BDRV_O_RDWR) {
|
||||||
|
flags |= BDRV_O_ALLOW_RDWR;
|
||||||
|
}
|
||||||
|
|
||||||
QLIST_FOREACH(child, &bs->children, next) {
|
QLIST_FOREACH(child, &bs->children, next) {
|
||||||
QDict *new_child_options;
|
QDict *new_child_options;
|
||||||
|
Loading…
Reference in New Issue
Block a user