[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