[stgt] [PATCH v2 0/2] Fix Windows iscsi initiator's formatting failures

nezhinsky at gmail.com nezhinsky at gmail.com
Tue Jun 4 14:06:21 CEST 2013


From: Alexander Nezhinsky <nezhinsky at gmail.com>

Windows iscsi initiator failed to format devices because in read
scsi commands, mainly READ(10), the last (but not the first) Data-IN
pdu contained zero buffer offset. Obviously this may happen only
with relatively small MaxRecvDSL, and relatively large cmd sizes,
so that multiple Data-IN pdus are sent and the last one carrying
the GOOD status. Linux sets much larger values of MaxRecvDSL than
Windows, and employes relaxed checks of pdu correctness.
It seems that it relies on DataSN and disregards buffer offset.

The fix was to handle data-in with status and scsi resp separately.
In addition a rectification is made for the tx pdu generation.

This resend (v2) adds DIR_NONE case for tx pdu handling fix.
When unhandled, connections were closed on TUR.
Verified on Windows iscsi initiator.

Alexander Nezhinsky (2):
  Fix buffer_offset set to 0 in the last Data-IN carrying status
  Create tx pdu by explicit scsi cmd dir (none, rd,wr,bidir)

 usr/iscsi/iscsid.c |   43 +++++++++++++++++++++++++++++++++++--------
 1 file changed, 35 insertions(+), 8 deletions(-)

-- 
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe stgt" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html



More information about the stgt mailing list