* [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.