• M
    block/drive-mirror: Check for NULL backing_hd · 14526864
    Max Reitz 提交于
    It should be possible to execute the QMP "drive-mirror" command in
    "none" sync mode and "absolute-paths" mode even for block devices
    lacking a backing file.
    
    "absolute-paths" does in fact not require a backing file to be present,
    as can be seen from the "top" sync mode code path. "top" basically
    states that the device should indeed have a backing file - however, the
    current code catches the case if it doesn't and then simply treats it as
    "full" sync mode, creating a target image without a backing file (in
    "absolute-paths" mode). Thus, "absolute-paths" does not imply the target
    file must indeed have a backing file.
    
    Therefore, the target file may be left unbacked in case of "none" sync
    mode as well, if the specified device is not backed either. Currently,
    qemu will crash trying to dereference the backing file pointer since it
    assumes that it will always be non-NULL in that case ("none" with
    "absolute-paths").
    Signed-off-by: NMax Reitz <mreitz@redhat.com>
    Reviewed-by: NWenchao Xia <xiawenc@linux.vnet.ibm.com>
    Reviewed-by: NEric Blake <eblake@redhat.com>
    Signed-off-by: NKevin Wolf <kwolf@redhat.com>
    14526864
blockdev.c 67.3 KB