scsi: reference-count requests
commitad2d30f79d3b0812f02c741be2189796b788d6d7
authorPaolo Bonzini <pbonzini@redhat.com>
Mon, 18 Apr 2011 14:01:56 +0000 (18 16:01 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 26 May 2011 10:14:15 +0000 (26 12:14 +0200)
tree44cd67f6ef5577c71dda6feefa4474be621d0e8b
parentd33e0ce213cec82a059f5e37667231200eb77325
scsi: reference-count requests

With the next patch, a device may hold SCSIRequest for an indefinite
time.  Split a rather big patch, and protect against access errors,
by reference counting them.

There is some ugliness in scsi_send_command implementation due to
the need to unref the request when it fails.  This will go away
with the next patches, which move the unref'ing to the devices.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Cc: Christoph Hellwig <hch@lst.de>
hw/scsi-bus.c
hw/scsi-disk.c
hw/scsi-generic.c
hw/scsi.h