Skip to content
  • Max Reitz's avatar
    block: Close backing file early in bdrv_img_create · 66f6b814
    Max Reitz authored
    
    
    Leaving the backing file open although it is not needed anymore can
    cause problems if it is opened through a block driver which allows
    exclusive access only and if the create function of the block driver
    used for the top image (the one being created) tries to close and reopen
    the image file (which will include opening the backing file a second
    time).
    
    In particular, this will happen with a backing file opened through
    qemu-nbd and using qcow2 as the top image file format (which reopens the
    image to flush it to disk).
    
    In addition, the BlockDriverState in bdrv_img_create() is used for the
    backing file only; it should therefore be made local to the respective
    block.
    
    Signed-off-by: default avatarMax Reitz <mreitz@redhat.com>
    Reviewed-by: default avatarKevin Wolf <kwolf@redhat.com>
    Reviewed-by: default avatarWenchao Xia <xiawenc@linux.vnet.ibm.com>
    Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
    66f6b814