summaryrefslogtreecommitdiffstats
path: root/include/target
diff options
context:
space:
mode:
authorAnastasia Kovaleva <a.kovaleva@yadro.com>2020-12-03 11:20:34 +0300
committerMartin K. Petersen <martin.petersen@oracle.com>2021-01-26 23:12:18 -0500
commitcc0b6ad72e18568dab245a0c5f8cc051b0936b33 (patch)
treefe8b43ebbd262ab89002bb51a0d03488ed0458c8 /include/target
parenteb90e45542b583c3647e032fba9348a74adfcb59 (diff)
downloadlinux-cc0b6ad72e18568dab245a0c5f8cc051b0936b33.tar.bz2
scsi: target: core: Signal WRITE residuals
According to RFC 7143 11.4.5.2.: If SPDTL > EDTL for a task, iSCSI Overflow MUST be signaled in the SCSI Response PDU as specified in Section 11.4.5.1. The Residual Count MUST be set to the numerical value of (SPDTL - EDTL). If SPDTL < EDTL for a task, iSCSI Underflow MUST be signaled in the SCSI Response PDU as specified in Section 11.4.5.1. The Residual Count MUST be set to the numerical value of (EDTL - SPDTL). libiscsi has residual write tests that check residual kind and residual amount and all of them (Write10Residuals, Write12Residuals, Write16Residuals) currently fail. One of the reasons why they fail is because target completes write commands with INVALID FIELD IN CDB before setting the Overflow/Underflow bit and residual amount. Set the Overflow/Underflow bit and the residual amount before failing a write to comply with RFC 7143. Link: https://lore.kernel.org/r/20201203082035.54566-3-a.kovaleva@yadro.com Signed-off-by: Anastasia Kovaleva <a.kovaleva@yadro.com> Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'include/target')
0 files changed, 0 insertions, 0 deletions