• James Bottomley's avatar
    [PATCH] add request prep functions to SCSI · 24e696ca
    James Bottomley authored
    This patch adds request prep functions to the mid-layer.  At the moment, its a single request prep function for all of SCSI.  I've altered the logic in scsi_request_fn so that we now do early preparation (this should improve throughput slightly in the untagged case with only a single command block).
    
    The prep function also cannot drop the queue lock, so the calling assumptions for scsi_init_io and the upper layer driver init_commands have changed to be that the lock is now held and they cannot drop it.  I think this means that we have no callers of scsi_init_io that aren't atomic, so perhaps I can just take the if out.
    
    I've hammered this in my usual set up, but other testers would be welcome.
    
    James
    24e696ca
scsi_lib.c 33.4 KB