Skip to content
  • Jeff Cody's avatar
    block: extend block-commit to accept a string for the backing file · 54e26900
    Jeff Cody authored
    
    
    On some image chains, QEMU may not always be able to resolve the
    filenames properly, when updating the backing file of an image
    after a block commit.
    
    For instance, certain relative pathnames may fail, or drives may
    have been specified originally by file descriptor (e.g. /dev/fd/???),
    or a relative protocol pathname may have been used.
    
    In these instances, QEMU may lack the information to be able to make
    the correct choice, but the user or management layer most likely does
    have that knowledge.
    
    With this extension to the block-commit api, the user is able to change
    the backing file of the overlay image as part of the block-commit
    operation.
    
    This allows the change to be 'safe', in the sense that if the attempt
    to write the overlay image metadata fails, then the block-commit
    operation returns failure, without disrupting the guest.
    
    If the commit top is the active layer, then specifying the backing
    file string will be treated as an error (there is no overlay image
    to modify in that case).
    
    If a backing file string is not specified in the command, the backing
    file string to use is determined in the same manner as it was
    previously.
    
    Reviewed-by: default avatarEric Blake <eblake@redhat.com>
    Signed-off-by: default avatarJeff Cody <jcody@redhat.com>
    Reviewed-by: default avatarKevin Wolf <kwolf@redhat.com>
    Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
    54e26900