scsi: target: core: Set residuals for 4Kn devices
authorRoman Bolshakov <r.bolshakov@yadro.com>
Thu, 3 Dec 2020 08:20:33 +0000 (11:20 +0300)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 27 Jan 2021 04:12:18 +0000 (23:12 -0500)
commiteb90e45542b583c3647e032fba9348a74adfcb59
treec8132462183b76539606f0db15d3028655a0fb91
parentcd96fe600cc4924d8d0cc6e3161870219c0d2c12
scsi: target: core: Set residuals for 4Kn devices

TCM always fails SBC commands with residuals for 4Kn devices when the
command is processed by sbc_parse_cdb(). That prevents residual signalling
to the transport driver because residual kind and residual amount aren't
set. It also makes residual handling different from 512-byte formatted
devices - if there are residuals 512-byte LUN would proceed with command
execution while 4K-byte LUN would fail.

Link: https://lore.kernel.org/r/20201203082035.54566-2-a.kovaleva@yadro.com
Based-on: https://patchwork.kernel.org/project/target-devel/patch/20170523234854.21452-31-bart.vanassche@sandisk.com/
Based-on-patch-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Roman Bolshakov <r.bolshakov@yadro.com>
Signed-off-by: Konstantin Vinogradov <k.vinogradov@yadro.com>
Signed-off-by: Anastasia Kovaleva <a.kovaleva@yadro.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/target/target_core_transport.c