def _is_shared_block_storage(self, instance, dest_check_data):
    'Check if all block storage of an instance can be shared\n        between source and destination of a live migration.\n\n        Returns true if the instance is volume backed and has no local disks,\n        or if the image backend is the same on source and destination and the\n        backend shares block storage between compute nodes.\n        '
    if ((CONF.libvirt.images_type == dest_check_data.get('image_type')) and self.image_backend.backend().is_shared_block_storage()):
        return True
    if (dest_check_data.get('is_volume_backed') and (not bool(jsonutils.loads(self.get_instance_disk_info(instance['name']))))):
        return True
    return False
Check if all block storage of an instance can be shared
between source and destination of a live migration.

Returns true if the instance is volume backed and has no local disks,
or if the image backend is the same on source and destination and the
backend shares block storage between compute nodes.
def _is_shared_block_storage(self, instance, dest_check_data):
    'Check if all block storage of an instance can be shared\n        between source and destination of a live migration.\n\n        Returns true if the instance is volume backed and has no local disks,\n        or if the image backend is the same on source and destination and the\n        backend shares block storage between compute nodes.\n        '
    if ((CONF.libvirt.images_type == dest_check_data.get('image_type')) and self.image_backend.backend().is_shared_block_storage()):
        return True
    if (dest_check_data.get('is_volume_backed') and (not bool(jsonutils.loads(self.get_instance_disk_info(instance['name']))))):
        return True
    return False