diff mbox

ibmvscsis: Fix write_pending failure path

Message ID 20171002175938.11764-1-bryantly@linux.vnet.ibm.com (mailing list archive)
State Accepted
Headers show

Commit Message

Bryant G. Ly Oct. 2, 2017, 5:59 p.m. UTC
From: "Bryant G. Ly" <bgly@us.ibm.com>

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:
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>
---
 drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Martin K. Petersen Oct. 3, 2017, 2:51 a.m. UTC | #1
Bryant,

> 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: target:
> Fix unknown fabric callback queue-full errors that patch addresses
> LIO's ability to handle things right.

Applied to 4.14/scsi-fixes. thanks!
Bryant G. Ly Oct. 3, 2017, 3:13 p.m. UTC | #2
On 10/2/17 9:51 PM, Martin K. Petersen wrote:
> Bryant,
>
>> 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: target:
>> Fix unknown fabric callback queue-full errors that patch addresses
>> LIO's ability to handle things right.
> Applied to 4.14/scsi-fixes. thanks!
>
Thanks! I forgot to add the stable tag for 4.11+, but I guess we can 
wait for
Nick to reply since we had discussed making the dependent patch series 
stable.

[PATCH 0/3] target: Fix queue-full callback error signaling

fa7e25cf13a6d0b82b5ed1008246f44d42e8422c
a4467018c2a7228f4ef58051f0511bd037bff264
025def92dd6b5b84b0d6d9069e2bb24e51e48c17


-Bryant
diff mbox

Patch

diff --git a/drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c b/drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c
index 1f75d0380516f..fe5b9d7bc06df 100644
--- a/drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c
+++ b/drivers/scsi/ibmvscsi_tgt/ibmvscsi_tgt.c
@@ -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,