Skip to content
  • Vladimir Sementsov-Ogievskiy's avatar
    2272edcf
    block: adapt bdrv_append() for inserting filters · 2272edcf
    Vladimir Sementsov-Ogievskiy authored
    
    
    bdrv_append is not very good for inserting filters: it does extra
    permission update as part of bdrv_set_backing_hd(). During this update
    filter may conflict with other parents of top_bs.
    
    Instead, let's first do all graph modifications and after it update
    permissions.
    
    append-greedy-filter test-case in test-bdrv-graph-mod is now works, so
    move it out of debug option.
    
    Note: bdrv_append() is still only works for backing-child based
    filters. It's something to improve later.
    
    Note2: we use the fact that bdrv_append() is used to append new nodes,
    without backing child, so we don't need frozen check and inherits_from
    logic from bdrv_set_backing_hd().
    
    Signed-off-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
    Reviewed-by: default avatarKevin Wolf <kwolf@redhat.com>
    Message-Id: <20210428151804.439460-22-vsementsov@virtuozzo.com>
    Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
    2272edcf
    block: adapt bdrv_append() for inserting filters
    Vladimir Sementsov-Ogievskiy authored
    
    
    bdrv_append is not very good for inserting filters: it does extra
    permission update as part of bdrv_set_backing_hd(). During this update
    filter may conflict with other parents of top_bs.
    
    Instead, let's first do all graph modifications and after it update
    permissions.
    
    append-greedy-filter test-case in test-bdrv-graph-mod is now works, so
    move it out of debug option.
    
    Note: bdrv_append() is still only works for backing-child based
    filters. It's something to improve later.
    
    Note2: we use the fact that bdrv_append() is used to append new nodes,
    without backing child, so we don't need frozen check and inherits_from
    logic from bdrv_set_backing_hd().
    
    Signed-off-by: default avatarVladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
    Reviewed-by: default avatarKevin Wolf <kwolf@redhat.com>
    Message-Id: <20210428151804.439460-22-vsementsov@virtuozzo.com>
    Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
Loading