[SCSI] libiscsi: fix iscsi transport checks to account for slower links
authorMike Christie <michaelc@cs.wisc.edu>
Wed, 13 May 2009 22:57:45 +0000 (17:57 -0500)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Sat, 23 May 2009 20:44:11 +0000 (15:44 -0500)
commit4c48a82935f833d94fcf44c2b0c5d2922acfc77a
treecc735d1d55feacc515155be528380cc60ce8f1a8
parentd1acfae514425d680912907c6554852f1e258551
[SCSI] libiscsi: fix iscsi transport checks to account for slower links

If we have not got any pdus for recv_timeout seconds, then we will
send a iscsi ping/nop to make sure the target is still around. The
problem is if this is a slow link, and the ping got queued after
the data for a data_out (read), then the transport code could think
the ping has failed when it is just slowly making its way through
the network. This patch has us check if we are making progress while
the nop is outstanding. If we are still reading in data, then we
do not fail the session at that time.

Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
drivers/scsi/libiscsi.c