From: Nicholas Bellinger Date: Wed, 2 Oct 2013 00:04:40 +0000 (-0700) Subject: target: Fail on non zero scsi_status in compare_and_write_callback X-Git-Tag: v3.12-rc4~2^2~3 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=db60df88ec39715fc3fb2a846cf35837e074c11d;p=pandora-kernel.git target: Fail on non zero scsi_status in compare_and_write_callback This patch addresses a bug for backends such as IBLOCK that perform asynchronous completion via transport_complete_cmd(), that will call target_complete_failure_work() -> transport_generic_request_failure(), upon exception status and invoke cmd->transport_complete_callback() -> compare_and_write_callback() incorrectly during the failure case. It adds a check for a non zero se_cmd->scsi_status within the first invocation of compare_and_write_callback(), and will jump to out plus up se_device->caw_sem before exiting the callback. Reported-by: Thomas Glanzmann Tested-by: Thomas Glanzmann Signed-off-by: Nicholas Bellinger --- Reading git-diff-tree failed