linux/drivers/infiniband/ulp/iser
Mike Christie 77a23c21aa [SCSI] libiscsi: fix iscsi cmdsn allocation
The cmdsn allocation and pdu transmit code can race, and we can end
up sending a pdu with cmdsn 10 before a pdu with 5. The target will
then fail the connection/session. This patch fixes the problem by
delaying the cmdsn allocation until we are about to send the pdu.

This also removes the xmitmutex. We were using the connection xmitmutex
during error handling to handle races with mtask and ctask cleanup and
completion. For ctasks we now have nice refcounting and for the mtask,
if we hit the case where the mtask timesout and it is floating
around somewhere in the driver, we end up dropping the session.
And to handle session level cleanup, we use the xmit suspend bit
along with scsi_flush_queue and the session lock to make sure
that the xmit thread is not possibly transmitting a task while
we are trying to kill it.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Cc: Roland Dreier <rdreier@cisco.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2007-06-02 15:34:14 -04:00
..
iscsi_iser.c [SCSI] libiscsi: fix iscsi cmdsn allocation 2007-06-02 15:34:14 -04:00
iscsi_iser.h IB/iser: Don't defer connection failure notification to workqueue 2007-04-05 09:46:04 -07:00
iser_initiator.c Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2007-05-05 13:30:44 -07:00
iser_memory.c IB/iser: Use the new verbs DMA mapping functions 2006-12-12 14:31:00 -08:00
iser_verbs.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
Kconfig IB/iser: Fix the description of iSER in Kconfig 2006-09-28 10:54:51 -07:00
Makefile IB/iser: iSER Kconfig and Makefile 2006-06-22 07:51:14 -07:00