When requests fail the error policy (-drive rerror=,werror=) determines what happens. The 'stop' policy pauses the guest and waits for the administrator to resolve the storage problem. It is possible to live migrate during this time and the failed requests can be restarted on the destination host.
Two bugs: 1. Segfault due to missing sgs mapping when loading migrated failed requests. 2. Incorrect error action due to broken is_read logic. I also noticed that the unaligned WRITE SAME test case in tests/virtio-scsi-test.c is broken. I've included a fix for that too. Stefan Hajnoczi (3): virtio-scsi: use virtqueue_map_sg() when loading requests scsi-disk: fix cmd.mode field typo tests: virtio-scsi: clear unit attention after reset hw/scsi/scsi-disk.c | 2 +- hw/scsi/virtio-scsi.c | 5 +++ tests/virtio-scsi-test.c | 90 +++++++++++++++++++++++++++++------------------- 3 files changed, 60 insertions(+), 37 deletions(-) -- 2.4.3