'Get list of disks to copy during migration
:param context: security context
:param instance: the instance being migrated
:param guest: the Guest instance being migrated
Get the list of disks to copy during migration.
:returns: a list of local source paths and a list of device names to
copy'

def _live_migration_copy_disk_paths(self, context, instance, guest):

    disk_paths = []
    device_names = []
    block_devices = []
    if (((self._block_migration_flags & libvirt.VIR_MIGRATE_TUNNELLED) == 0) and self._host.has_min_version(MIN_LIBVIRT_BLOCK_LM_WITH_VOLUMES_VERSION)):
        bdm_list = objects.BlockDeviceMappingList.get_by_instance_uuid(context, instance.uuid)
        block_device_info = driver.get_block_device_info(instance, bdm_list)
        block_device_mappings = driver.block_device_info_get_mapping(block_device_info)
        for bdm in block_device_mappings:
            device_name = str(bdm['mount_device'].rsplit('/', 1)[1])
            block_devices.append(device_name)
    for dev in guest.get_all_disks():
        if (dev.readonly or dev.shareable):
            continue
        if (dev.source_type not in ['file', 'block']):
            continue
        if (dev.target_dev in block_devices):
            continue
        disk_paths.append(dev.source_path)
        device_names.append(dev.target_dev)
    return (disk_paths, device_names)
