virtio-scsi: abort in-flight I/O when the device is reset

When the device is reset, the SCSI bus should also be reset so
that in-flight I/O is cancelled.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
Paolo Bonzini 2013-01-10 15:49:08 +01:00 committed by Anthony Liguori
parent d0508c3664
commit 47a150a4bb

View File

@ -565,6 +565,10 @@ static void virtio_scsi_reset(VirtIODevice *vdev)
{ {
VirtIOSCSI *s = (VirtIOSCSI *)vdev; VirtIOSCSI *s = (VirtIOSCSI *)vdev;
s->resetting++;
qbus_reset_all(&s->bus.qbus);
s->resetting--;
s->sense_size = VIRTIO_SCSI_SENSE_SIZE; s->sense_size = VIRTIO_SCSI_SENSE_SIZE;
s->cdb_size = VIRTIO_SCSI_CDB_SIZE; s->cdb_size = VIRTIO_SCSI_CDB_SIZE;
s->events_dropped = false; s->events_dropped = false;