All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/1] ibmvfc: Fix I/O hang when port is not mapped
@ 2016-09-19 13:59 Brian King
  2016-09-19 16:14 ` Tyrel Datwyler
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Brian King @ 2016-09-19 13:59 UTC (permalink / raw)
  To: James.Bottomley; +Cc: martin.petersen, linux-scsi, tyreld, brking


If a VFC port gets unmapped in the VIOS, it may not respond with a CRQ init
complete following H_REG_CRQ. If this occurs, we can end up having called
scsi_block_requests and not a resulting unblock until the init complete
happens, which may never occur, and we end up hanging I/O requests.
This patch ensures the host action stay set to IBMVFC_HOST_ACTION_TGT_DEL so
we move all rports into devloss state and unblock unless we receive an
init complete. 

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
---

 drivers/scsi/ibmvscsi/ibmvfc.c |    1 -
 1 file changed, 1 deletion(-)

diff -puN drivers/scsi/ibmvscsi/ibmvfc.c~ibmvfc_unmap_hang_fix drivers/scsi/ibmvscsi/ibmvfc.c
--- linux-2.6.git/drivers/scsi/ibmvscsi/ibmvfc.c~ibmvfc_unmap_hang_fix	2016-09-09 15:46:36.452011778 -0500
+++ linux-2.6.git-bjking1/drivers/scsi/ibmvscsi/ibmvfc.c	2016-09-09 15:47:07.026632886 -0500
@@ -717,7 +717,6 @@ static int ibmvfc_reset_crq(struct ibmvf
 	spin_lock_irqsave(vhost->host->host_lock, flags);
 	vhost->state = IBMVFC_NO_CRQ;
 	vhost->logged_in = 0;
-	ibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_NONE);
 
 	/* Clean out the queue */
 	memset(crq->msgs, 0, PAGE_SIZE);
_


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

* Re: [PATCH 1/1] ibmvfc: Fix I/O hang when port is not mapped
  2016-09-19 13:59 [PATCH 1/1] ibmvfc: Fix I/O hang when port is not mapped Brian King
@ 2016-09-19 16:14 ` Tyrel Datwyler
  2016-09-19 20:54 ` Martin K. Petersen
  2016-09-19 21:21 ` Tyrel Datwyler
  2 siblings, 0 replies; 5+ messages in thread
From: Tyrel Datwyler @ 2016-09-19 16:14 UTC (permalink / raw)
  To: Brian King, James.Bottomley; +Cc: martin.petersen, linux-scsi, tyreld

On 09/19/2016 06:59 AM, Brian King wrote:
> If a VFC port gets unmapped in the VIOS, it may not respond with a CRQ init
> complete following H_REG_CRQ. If this occurs, we can end up having called
> scsi_block_requests and not a resulting unblock until the init complete
> happens, which may never occur, and we end up hanging I/O requests.
> This patch ensures the host action stay set to IBMVFC_HOST_ACTION_TGT_DEL so
> we move all rports into devloss state and unblock unless we receive an
> init complete. 
> 
> Signed-off-by: Brian King <brking@linux.vnet.ibm.com>

Acked-by: Tyrel Datwyler <tyreld@linux.vnet.ibm.com>


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

* Re: [PATCH 1/1] ibmvfc: Fix I/O hang when port is not mapped
  2016-09-19 13:59 [PATCH 1/1] ibmvfc: Fix I/O hang when port is not mapped Brian King
  2016-09-19 16:14 ` Tyrel Datwyler
@ 2016-09-19 20:54 ` Martin K. Petersen
  2016-09-19 21:21 ` Tyrel Datwyler
  2 siblings, 0 replies; 5+ messages in thread
From: Martin K. Petersen @ 2016-09-19 20:54 UTC (permalink / raw)
  To: Brian King; +Cc: James.Bottomley, martin.petersen, linux-scsi, tyreld

>>>>> "Brian" == Brian King <brking@linux.vnet.ibm.com> writes:

Brian> If a VFC port gets unmapped in the VIOS, it may not respond with
Brian> a CRQ init complete following H_REG_CRQ. If this occurs, we can
Brian> end up having called scsi_block_requests and not a resulting
Brian> unblock until the init complete happens, which may never occur,
Brian> and we end up hanging I/O requests.  This patch ensures the host
Brian> action stay set to IBMVFC_HOST_ACTION_TGT_DEL so we move all
Brian> rports into devloss state and unblock unless we receive an init
Brian> complete.

Applied to 4.9/scsi-queue.

-- 
Martin K. Petersen	Oracle Linux Engineering

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

* Re: [PATCH 1/1] ibmvfc: Fix I/O hang when port is not mapped
  2016-09-19 13:59 [PATCH 1/1] ibmvfc: Fix I/O hang when port is not mapped Brian King
  2016-09-19 16:14 ` Tyrel Datwyler
  2016-09-19 20:54 ` Martin K. Petersen
@ 2016-09-19 21:21 ` Tyrel Datwyler
  2016-09-19 23:51   ` Martin K. Petersen
  2 siblings, 1 reply; 5+ messages in thread
From: Tyrel Datwyler @ 2016-09-19 21:21 UTC (permalink / raw)
  To: Brian King, James.Bottomley; +Cc: martin.petersen, linux-scsi, tyreld

On 09/19/2016 06:59 AM, Brian King wrote:
> If a VFC port gets unmapped in the VIOS, it may not respond with a CRQ init
> complete following H_REG_CRQ. If this occurs, we can end up having called
> scsi_block_requests and not a resulting unblock until the init complete
> happens, which may never occur, and we end up hanging I/O requests.
> This patch ensures the host action stay set to IBMVFC_HOST_ACTION_TGT_DEL so
> we move all rports into devloss state and unblock unless we receive an
> init complete. 
> 
> Signed-off-by: Brian King <brking@linux.vnet.ibm.com>

In retrospect this probably should have been queued up for stable as well.

-Tyrel

> ---
> 
>  drivers/scsi/ibmvscsi/ibmvfc.c |    1 -
>  1 file changed, 1 deletion(-)
> 
> diff -puN drivers/scsi/ibmvscsi/ibmvfc.c~ibmvfc_unmap_hang_fix drivers/scsi/ibmvscsi/ibmvfc.c
> --- linux-2.6.git/drivers/scsi/ibmvscsi/ibmvfc.c~ibmvfc_unmap_hang_fix	2016-09-09 15:46:36.452011778 -0500
> +++ linux-2.6.git-bjking1/drivers/scsi/ibmvscsi/ibmvfc.c	2016-09-09 15:47:07.026632886 -0500
> @@ -717,7 +717,6 @@ static int ibmvfc_reset_crq(struct ibmvf
>  	spin_lock_irqsave(vhost->host->host_lock, flags);
>  	vhost->state = IBMVFC_NO_CRQ;
>  	vhost->logged_in = 0;
> -	ibmvfc_set_host_action(vhost, IBMVFC_HOST_ACTION_NONE);
>  
>  	/* Clean out the queue */
>  	memset(crq->msgs, 0, PAGE_SIZE);
> _
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 


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

* Re: [PATCH 1/1] ibmvfc: Fix I/O hang when port is not mapped
  2016-09-19 21:21 ` Tyrel Datwyler
@ 2016-09-19 23:51   ` Martin K. Petersen
  0 siblings, 0 replies; 5+ messages in thread
From: Martin K. Petersen @ 2016-09-19 23:51 UTC (permalink / raw)
  To: Tyrel Datwyler; +Cc: Brian King, James.Bottomley, martin.petersen, linux-scsi

>>>>> "Tyrel" == Tyrel Datwyler <tyreld@linux.vnet.ibm.com> writes:

Tyrel> In retrospect this probably should have been queued up for stable
Tyrel> as well.

Tag added.

-- 
Martin K. Petersen	Oracle Linux Engineering

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

end of thread, other threads:[~2016-09-19 23:51 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-09-19 13:59 [PATCH 1/1] ibmvfc: Fix I/O hang when port is not mapped Brian King
2016-09-19 16:14 ` Tyrel Datwyler
2016-09-19 20:54 ` Martin K. Petersen
2016-09-19 21:21 ` Tyrel Datwyler
2016-09-19 23:51   ` Martin K. Petersen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.