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> ...