On Thu, Aug 03, 2017 at 05:02:59PM +0200, Kevin Wolf wrote:
> 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>
> ---
> block.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/block.c b/block.c
> index 2711c3dd3b..3615a6809e 100644
> --- a/block.c
> +++ b/block.c
> @@ -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;
> --
> 2.13.3
>
>
Reviewed-by: Jeff Cody <jcody@redhat.com>