• A
    block: Add bdrv_reset_options_allowed() · faf116b4
    Alberto Garcia 提交于
    bdrv_reopen_prepare() receives a BDRVReopenState with (among other
    things) a new set of options to be applied to that BlockDriverState.
    
    If an option is missing then it means that we want to reset it to its
    default value rather than keep the previous one. This way the state
    of the block device after being reopened is comparable to that of a
    device added with "blockdev-add" using the same set of options.
    
    Not all options from all drivers can be changed this way, however.
    If the user attempts to reset an immutable option to its default value
    using this method then we must forbid it.
    
    This new function takes a BlockDriverState and a new set of options
    and checks if there's any option that was previously set but is
    missing from the new set of options.
    
    If the option is present in both sets we don't need to check that they
    have the same value. The loop at the end of bdrv_reopen_prepare()
    already takes care of that.
    Signed-off-by: NAlberto Garcia <berto@igalia.com>
    Signed-off-by: NKevin Wolf <kwolf@redhat.com>
    faf116b4
block.c 186.6 KB