Nicholas Bellinger db60df88ec 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 <thomas@glanzmann.de>
Tested-by: Thomas Glanzmann <thomas@glanzmann.de>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
2013-10-03 04:24:07 -07:00
..
2013-09-06 13:30:06 -07:00
2013-09-25 15:50:53 -07:00
2013-09-13 15:09:52 +02:00
2013-09-03 11:37:15 -07:00
2013-09-13 15:09:52 +02:00
2013-09-28 16:32:12 +02:00
2013-09-12 11:29:26 -07:00
2013-09-09 16:35:29 -07:00
2013-09-25 15:12:46 -07:00
2013-09-06 13:30:06 -07:00
2013-09-13 15:09:52 +02:00
2013-09-13 15:09:52 +02:00
2013-09-13 15:09:52 +02:00
2013-09-06 13:21:16 -07:00
2013-09-11 15:59:15 -07:00
2013-09-13 15:09:52 +02:00
2013-09-29 13:47:00 -07:00
2013-09-03 11:37:15 -07:00
2013-09-26 16:22:29 -07:00
2013-09-04 11:28:04 -06:00
2013-09-26 15:33:23 +03:00
2013-09-13 15:09:52 +02:00
2013-09-25 15:50:53 -07:00