scsi: ibmvscsis: Fix write_pending failure path
authorBryant G. Ly <bgly@us.ibm.com>
Mon, 2 Oct 2017 17:59:38 +0000 (12:59 -0500)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 3 Oct 2017 02:49:27 +0000 (22:49 -0400)
For write_pending if the queue is down or client failed then return -EIO
so that LIO can properly process the completed command. Prior we
returned 0 since LIO could not handle it properly. Now with commit
fa7e25cf13a6 ("target: Fix unknown fabric callback queue-full errors")
that patch addresses LIO's ability to handle things right.

Signed-off-by: Bryant G. Ly <bgly@us.ibm.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c

index 785fb42f66502a40e005c912d1cf9022a86ddb62..2799a6b08f736052a52ae7901a06fe64fc486211 100644 (file)
@@ -3767,7 +3767,7 @@ static int ibmvscsis_write_pending(struct se_cmd *se_cmd)
         */
        if ((vscsi->flags & (CLIENT_FAILED | RESPONSE_Q_DOWN))) {
                pr_err("write_pending failed since: %d\n", vscsi->flags);
-               return 0;
+               return -EIO;
        }
 
        rc = srp_transfer_data(cmd, &vio_iu(iue)->srp.cmd, ibmvscsis_rdma,