virtio-scsi: Handle TMF request cancellation asynchronously
commit49e7e31aa00a9fb466203de19120fe5c4459cac0
authorFam Zheng <famz@redhat.com>
Tue, 30 Sep 2014 03:40:23 +0000 (30 11:40 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 30 Sep 2014 11:30:51 +0000 (30 13:30 +0200)
treea1d711c93218beb0f3f3681d33b15959bec1699a
parent8e0a9320e94930fd6e5c2906c478203b80392f5c
virtio-scsi: Handle TMF request cancellation asynchronously

For VIRTIO_SCSI_T_TMF_ABORT_TASK and VIRTIO_SCSI_T_TMF_ABORT_TASK_SET,
use scsi_req_cancel_async to start the cancellation.

Because each tmf command may cancel multiple requests, we need to use a
counter to track the number of remaining requests we still need to wait
for.

Signed-off-by: Fam Zheng <famz@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
hw/scsi/virtio-scsi.c
include/hw/virtio/virtio-scsi.h