block: Fix reopen with semantically overlapping options
commitcddff5bae1c8e0e21a5e6da04eff1d0a4423e5f3
authorKevin Wolf <kwolf@redhat.com>
Mon, 16 Nov 2015 15:43:27 +0000 (16 16:43 +0100)
committerKevin Wolf <kwolf@redhat.com>
Fri, 18 Dec 2015 13:34:42 +0000 (18 14:34 +0100)
tree22807bca8815110a6318d980fa3f15b83b75538e
parent5365f44dfa4669a8d37ec309c421c7512959d509
block: Fix reopen with semantically overlapping options

This fixes bdrv_reopen() calls like the following one:

    qemu-io -c 'open -o overlap-check.template=all /tmp/test.qcow2' \
    -c 'reopen -o overlap-check=none'

The approach taken so far would result in an options QDict that has both
"overlap-check.template=all" and "overlap-check=none", which obviously
conflicts. In this case, the old option should be overridden by the
newly specified option.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Reviewed-by: Alberto Garcia <berto@igalia.com>
block.c