scsi: revert change to scsi_req_cancel_async and add assertions
commit3daa41078aedf227ec98b0d1c9d56b77b6d20153
authorPaolo Bonzini <pbonzini@redhat.com>
Fri, 18 Dec 2015 08:54:53 +0000 (18 09:54 +0100)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 15 Jan 2016 17:57:32 +0000 (15 18:57 +0100)
tree274c184376395b9234f8d15adfa0115d2a97639e
parent5a57acb66f19ee52723aa05b8afbbc41c3e9ec99
scsi: revert change to scsi_req_cancel_async and add assertions

Fam Zheng noticed that the change in commit 36896bf ("scsi: always call
notifier on async cancellation", 2015-12-16) could cause a leak of
the request; scsi_req_cancel_async now calls scsi_req_ref
multiple times for multiple cancellations, but there is only
one call to scsi_req_cancel_complete.

So revert the patch and instead assert that the problematic case (a call
to scsi_req_cancel_async after the aiocb has been completed) cannot
happen.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
hw/scsi/scsi-bus.c