public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 11/15] lpfc 8.2.8 : Update driver to use new Host byte error code DID_TRANSPORT_DISRUPTED
@ 2008-08-25  1:50 James Smart
  2008-09-04 21:08 ` James Bottomley
  0 siblings, 1 reply; 3+ messages in thread
From: James Smart @ 2008-08-25  1:50 UTC (permalink / raw)
  To: linux-scsi


Update driver to use new Host byte error code DID_TRANSPORT_DISRUPTED.

This patch depends pending upstream patches described in:
http://marc.info/?l=linux-scsi&m=121263014808604&w=2

Particularly:
http://marc.info/?l=linux-scsi&m=121263014908607&w=2
which defines DID_TRANSPORT_DISRUPTED.

This patch supercedes the lpfc patch in that series:
http://marc.info/?l=linux-scsi&m=121263015008616&w=2


 Signed-off-by: James Smart <james.smart@emulex.com>

 ---

 lpfc_scsi.c |    7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)


diff -upNr a/drivers/scsi/lpfc/lpfc_scsi.c b/drivers/scsi/lpfc/lpfc_scsi.c
--- a/drivers/scsi/lpfc/lpfc_scsi.c	2008-08-24 20:47:07.000000000 -0400
+++ b/drivers/scsi/lpfc/lpfc_scsi.c	2008-08-24 20:49:21.000000000 -0400
@@ -653,7 +653,7 @@ lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba 
 			break;
 		case IOSTAT_NPORT_BSY:
 		case IOSTAT_FABRIC_BSY:
-			cmd->result = ScsiResult(DID_BUS_BUSY, 0);
+			cmd->result = ScsiResult(DID_TRANSPORT_DISRUPTED, 0);
 			break;
 		case IOSTAT_LOCAL_REJECT:
 			if (lpfc_cmd->result == IOERR_INVALID_RPI ||
@@ -669,7 +669,8 @@ lpfc_scsi_cmd_iocb_cmpl(struct lpfc_hba 
 
 		if (!pnode || !NLP_CHK_NODE_ACT(pnode)
 		    || (pnode->nlp_state != NLP_STE_MAPPED_NODE))
-			cmd->result = ScsiResult(DID_BUS_BUSY, SAM_STAT_BUSY);
+			cmd->result = ScsiResult(DID_TRANSPORT_DISRUPTED,
+			SAM_STAT_BUSY);
 	} else {
 		cmd->result = ScsiResult(DID_OK, 0);
 	}
@@ -1071,7 +1072,7 @@ lpfc_queuecommand(struct scsi_cmnd *cmnd
 	 * transport is still transitioning.
 	 */
 	if (!ndlp || !NLP_CHK_NODE_ACT(ndlp)) {
-		cmnd->result = ScsiResult(DID_BUS_BUSY, 0);
+		cmnd->result = ScsiResult(DID_TRANSPORT_DISRUPTED, 0);
 		goto out_fail_command;
 	}
 	lpfc_cmd = lpfc_get_scsi_buf(phba);



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 11/15] lpfc 8.2.8 : Update driver to use new Host byte error code DID_TRANSPORT_DISRUPTED
  2008-08-25  1:50 [PATCH 11/15] lpfc 8.2.8 : Update driver to use new Host byte error code DID_TRANSPORT_DISRUPTED James Smart
@ 2008-09-04 21:08 ` James Bottomley
  2008-09-05 14:30   ` Mike Christie
  0 siblings, 1 reply; 3+ messages in thread
From: James Bottomley @ 2008-09-04 21:08 UTC (permalink / raw)
  To: James.Smart; +Cc: linux-scsi

On Sun, 2008-08-24 at 21:50 -0400, James Smart wrote:
> Update driver to use new Host byte error code DID_TRANSPORT_DISRUPTED.
> 
> This patch depends pending upstream patches described in:
> http://marc.info/?l=linux-scsi&m=121263014808604&w=2
> 
> Particularly:
> http://marc.info/?l=linux-scsi&m=121263014908607&w=2
> which defines DID_TRANSPORT_DISRUPTED.
> 
> This patch supercedes the lpfc patch in that series:
> http://marc.info/?l=linux-scsi&m=121263015008616&w=2

I've got this one, but only partially.  The third hunk doesn't apply:

--- 1072,1078 ----
  	 * transport is still transitioning.
  	 */
  	if (!ndlp || !NLP_CHK_NODE_ACT(ndlp)) {
+ 		cmnd->result = ScsiResult(DID_TRANSPORT_DISRUPTED, 0);
  		goto out_fail_command;
  	}

It became a goto out_target_busy, which returns SCSI_MLQUEUE_TARGET_BUSY
via a patch which you acked.

James



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 11/15] lpfc 8.2.8 : Update driver to use new Host byte error code DID_TRANSPORT_DISRUPTED
  2008-09-04 21:08 ` James Bottomley
@ 2008-09-05 14:30   ` Mike Christie
  0 siblings, 0 replies; 3+ messages in thread
From: Mike Christie @ 2008-09-05 14:30 UTC (permalink / raw)
  To: James Bottomley; +Cc: James.Smart, linux-scsi

James Bottomley wrote:
> On Sun, 2008-08-24 at 21:50 -0400, James Smart wrote:
>> Update driver to use new Host byte error code DID_TRANSPORT_DISRUPTED.
>>
>> This patch depends pending upstream patches described in:
>> http://marc.info/?l=linux-scsi&m=121263014808604&w=2
>>
>> Particularly:
>> http://marc.info/?l=linux-scsi&m=121263014908607&w=2
>> which defines DID_TRANSPORT_DISRUPTED.
>>
>> This patch supercedes the lpfc patch in that series:
>> http://marc.info/?l=linux-scsi&m=121263015008616&w=2
> 
> I've got this one, but only partially.  The third hunk doesn't apply:
> 

It is ok and better to drop this part below for target busy. If we 
return target busy in the queuecommand then the we will block it right 
away. If we return DID_TRANSPORT_DISRUPTED then it will not get blocked 
until the soft irq processes the command, which is a waste.


> --- 1072,1078 ----
>   	 * transport is still transitioning.
>   	 */
>   	if (!ndlp || !NLP_CHK_NODE_ACT(ndlp)) {
> + 		cmnd->result = ScsiResult(DID_TRANSPORT_DISRUPTED, 0);
>   		goto out_fail_command;
>   	}
> 
> It became a goto out_target_busy, which returns SCSI_MLQUEUE_TARGET_BUSY
> via a patch which you acked.
>

Sorry about that. We were not sure which parts of which patchset you 
were going to take so some wires got crossed.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-09-05 14:30 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-08-25  1:50 [PATCH 11/15] lpfc 8.2.8 : Update driver to use new Host byte error code DID_TRANSPORT_DISRUPTED James Smart
2008-09-04 21:08 ` James Bottomley
2008-09-05 14:30   ` Mike Christie

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox