• H
    scsi: Use 'SCSIRequest' directly · 5c6c0e51
    Hannes Reinecke 提交于
    Currently the SCSIRequest structure is abstracted away and cannot accessed
    directly from the driver. This requires the handler to do a lookup on
    an abstract 'tag' which identifies the SCSIRequest structure.
    
    With this patch the SCSIRequest structure is exposed to the driver. This
    allows use to use it directly as an argument to the SCSIDeviceInfo
    callback functions and remove the lookup.
    
    A new callback function 'alloc_req' is introduced matching 'free
    req'; unref'ing to free up resources after use is moved into the
    scsi_command_complete callbacks.
    
    This temporarily introduces a leak of requests that are cancelled,
    when they are removed from the queue and not from the driver.  This
    is fixed later by introducing scsi_req_cancel.  That patch in turn
    depends on this one, because the argument to scsi_req_cancel is a
    SCSIRequest.
    Signed-off-by: NHannes Reinecke <hare@suse.de>
    Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
    Reviewed-by: NChristoph Hellwig <hch@lst.de>
    5c6c0e51
usb-msd.c 17.2 KB