The following patches made over Linus's current tree cleanup the locking in libiscsi so we again, for the main IO path, have the frwd lock only used in the xmit/queue path and the back lock used in the completion path and no taskqueuelock. The EH paths still use both the frwd/back lock though. These patches are not ready for merging. I have only tested iscsi_tcp. Also, even though the changes to the offload drivers look like minimal API use changes, I wanted to try and get some tests done as the changes affect the main IO and error paths. Also, I wanted to try and track down any offload maintainers that are still doing development on their drivers. After this batch of patches is merged we can go one step further and remove the frwd lock from queuecommand for at least the iscsi xmit wq based drivers by switching to some per task locking or lllists. And if we can figure out if the offload cards manage their own cmdsn window then we could drop the frwd lock for them too and we could do some optimizatons with the back lock for them.