Hi Nicholas,
On Thursday 14 November 2013 02:04 AM, Nicholas A. Bellinger wrote:
Hi Santosh,
On Wed, 2013-11-13 at 18:00 +0530, santosh kulkarni wrote:
Hi,
Wanted you to clarify the expected behavior of LIO when a command
(Read10) is issued with ExpectedDataTransferLength larger than Max Burst
Size.
What i see is that, in the response Data-In PDUs the F bit is getting
set in PDU which is not the last Data-In PDU.
All other aspects seem to be fine the Data-sn is incrementing properly.
But i see multiple Data-in PDUs with F bit set getting received.
Yes, that is correct. The F_BIT is set after every MaxBurstLength worth
of DataIN, regardless of the ExpectedDataTransferLength.
But RFC states F bit to be set in the Final Data-in PDU only.
Wrong. The RFC states in Section 10.7.1. F (Final) Bit:
For incoming data, this bit is 1 for the last input (read) data PDU
of a sequence. Input can be split into several sequences, each
having its own F bit. Splitting the data stream into sequences does
not affect DataSN counting on Data-In PDUs.
FYI,
I am issuing a READ10 command with the following
ExpectedDataTransferLength = 5120,6144 and 8192. I am observing the same
behavior in all cases.
other parameters negotiated
MaxRecvDataSegmentLength=512
MaxBurstLength=4096
ImmediateData=No
MaxOutstandingR2T=1
DataSequenceInOrder=Yes
InitialR2T=Yes
DataPDUInOrder=Yes
DefaultTime2Retain=20
--nab
Verified it. LIO is behaving properly. Thanks for the quick reply and
clarification.
Regards
Santosh
--
To unsubscribe from this list: send the line "unsubscribe target-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html