While I investigated and reproduced the problem, the qemu process itself
did not crash/abort. I observed that a Linux guest (KVM virtual machine)
became unresponsive after a migration because requests to a virtio disk
did not complete.

If virtio_load() returns via the following section of code ...

    if (virtio_set_features(vdev, features) < 0) {
        supported_features = vdev->binding->get_features(vdev->binding_opaque);
        error_report("Features 0x%x unsupported. Allowed features: 0x%x",
                     features, supported_features);
        return -1;
    }

... various data structures are not fully set up. Execution of the above
code is - for example - triggered by passing "scsi=on" to the source qemu
and "scsi=off" to the destination qemu process. Since the data structures
are in an incomplete state, virtio disk requests from the guest cannot be
processed.


Regards,

Uli


----- Original Message -----
> From: "Orit Wasserman" <owass...@redhat.com>
...
> Sent: Thursday, March 1, 2012 12:28:08 PM
> Subject: [PATCH v2] We should check the virtio_load return code
> 
> Otherwise we crash on error.
> Instruction to reporduce the crash with migration:
> 1) run a guest with -device virtio-blk-pci,drive=drive_name,scsi=on
> 2) run destination with
>    -device virtio-blk-pci,drive=drive_name,scsi=off ... -incoming ...
> 3) migrate from 1 to 2.
> 
> Signed-off-by: Ulrich Obergfell <uober...@redhat.com>
> Signed-off-by: Orit Wasserman <owass...@redhat.com>
...

Reply via email to