Lee, > If there is an error queueing an iscsi command in > iscsi_queuecommand(), for example if the transport fails to take the > command in sessuin->tt->xmit_task(), then the error path can call > iscsi_complete_task() without first aquiring the back_lock as > required. This can lead to things like ITT pool can get corrupt, > resulting in duplicate ITTs being sent out. > > The solution is to hold the back_lock around iscsi_complete_task() > calls, and to add a little commenting to help others understand when > back_lock must be held. Applied to 5.1/scsi-queue, thanks! -- Martin K. Petersen Oracle Linux Engineering