James Bottomley wrote: > On Sun, 2007-03-04 at 09:43 -0600, Mike Christie wrote: >> There are trying to do a scsi level multipath driver for RDAC support. >> And they are trying to do something similar to request based multipath >> (route requests instead of bios but in their case they are routing >> scsi_cmnds instead of requests). > > I guessed it might be something like that ... > > The SCSI driver layer wasn't designed to stack like that ... hence the > problems of setup and teardown of the sg list. Wouldn't it just be > easier to make request based multi-path work? Unfortunately, you can't > avoid the request system because what you want to do is resubmit an I/O > without having the mid-layer execute the prepare function (which is > where it's mapped) so you need the REQ_DONTPREP flag. > I think they get around this and other request settings that need resetting by using scsi_execute_async. They will take the command, data direction and buffer fields from the original scsi_cmnd, then pass those on to scsi_ececute_async which would allocate a new request and then as you know that new request gets sent to the scsi layer and looks like a brand new request. So I misspoke above. It might be better to say they are using it for routing what the other multipath layers would call cloned commands. - To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html