|
@@ -99,17 +99,25 @@ namespace ISCSI.Server
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
-
|
|
|
- ReadyToTransferPDU response = new ReadyToTransferPDU();
|
|
|
- response.InitiatorTaskTag = request.InitiatorTaskTag;
|
|
|
- response.TargetTransferTag = request.TargetTransferTag;
|
|
|
- response.R2TSN = transfer.NextR2TSN;
|
|
|
- response.BufferOffset = offset + request.DataSegmentLength;
|
|
|
- response.DesiredDataTransferLength = Math.Min((uint)connection.TargetMaxRecvDataSegmentLength, totalLength - response.BufferOffset);
|
|
|
-
|
|
|
- transfer.NextR2TSN++;
|
|
|
-
|
|
|
- responseList.Add(response);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ if (request.Final)
|
|
|
+ {
|
|
|
+
|
|
|
+ ReadyToTransferPDU response = new ReadyToTransferPDU();
|
|
|
+ response.InitiatorTaskTag = request.InitiatorTaskTag;
|
|
|
+ response.TargetTransferTag = request.TargetTransferTag;
|
|
|
+ response.R2TSN = transfer.NextR2TSN;
|
|
|
+ response.BufferOffset = offset + request.DataSegmentLength;
|
|
|
+ response.DesiredDataTransferLength = Math.Min((uint)connection.TargetMaxRecvDataSegmentLength, totalLength - response.BufferOffset);
|
|
|
+ responseList.Add(response);
|
|
|
+
|
|
|
+ transfer.NextR2TSN++;
|
|
|
+ }
|
|
|
return responseList;
|
|
|
}
|
|
|
}
|