• A
    block: Allow freezing BdrvChild links · 2cad1ebe
    Alberto Garcia 提交于
    Our permission system is useful to define what operations are allowed
    on a certain block node and includes things like BLK_PERM_WRITE or
    BLK_PERM_RESIZE among others.
    
    One of the permissions is BLK_PERM_GRAPH_MOD which allows "changing
    the node that this BdrvChild points to". The exact meaning of this has
    never been very clear, but it can be understood as "change any of the
    links connected to the node". This can be used to prevent changing a
    backing link, but it's too coarse.
    
    This patch adds a new 'frozen' attribute to BdrvChild, which forbids
    detaching the link from the node it points to, and new API to freeze
    and unfreeze a backing chain.
    
    After this change a few functions can fail, so they need additional
    checks.
    Signed-off-by: NAlberto Garcia <berto@igalia.com>
    Signed-off-by: NKevin Wolf <kwolf@redhat.com>
    2cad1ebe
block.c 177.1 KB