]> www.infradead.org Git - users/jedix/linux-maple.git/commit
scsi: lpfc: Fix eh_deadline setting for sli3 adapters.
authorrkennedy <dick.kennedy@avagotech.com>
Wed, 12 Jul 2017 22:17:20 +0000 (18:17 -0400)
committerChuck Anderson <chuck.anderson@oracle.com>
Fri, 14 Jul 2017 00:12:14 +0000 (17:12 -0700)
commitb115cb6c4ac6f9e9ae58f9f64cb246de28b8c336
tree1797621e8cb97c9a994ec4c6607db77a77f44921
parent9bbeb20ee83a4d2213cc61a4830d7773d70b93da
scsi: lpfc: Fix eh_deadline setting for sli3 adapters.

[backport of 96418b5e2c8867da3279d877f5d1ffabfe460c3d]
From: James Smart <jsmart2021@gmail.com>

Orabug: 26439257

A previous change unilaterally removed the hba reset entry point
from the sli3 host template. This was done to allow tape devices
being used for back up from being removed. Why was this done ?
When there was non-responding device on the fabric, the error
escalation policy would escalate to the reset handler. When the
reset handler was called, it would reset the adapter, dropping
link, thus logging out and terminating all i/o's - on any target.
If there was a tape device on the same adapter that wasn't in
error, it would kill the tape i/o's, effectively killing the
tape device state.  With the reset point removed, the adapter
reset avoided the fabric logout, allowing the other devices to
continue to operate unaffected. A hack - yes. Hint: we really
need a transport I_T nexus reset callback added to the eh process
(in between the SCSI target reset and hba reset points), so a
fc logout could occur to the one bad target only and stop the error
escalation process.

This patch commonizes the approach so it can be used for sli3 and sli4
adapters, but mandates the admin, via module parameter, specifically
identify which adapters the resets are to be removed for. Additionally,
bus_reset, which sends Target Reset TMFs to all targets, is also removed
from the template as it too has the same effect as the adapter reset.

This patch had to be modified from the original because of the NVME changes that are in the upstream driver.

Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <james.smart@broadcom.com>
Reviewed-by: Laurence Oberman <loberman@redhat.com>
Tested-by: Laurence Oberman <loberman@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Brian Maly <brian.maly@oracle.com>
drivers/scsi/lpfc/lpfc.h
drivers/scsi/lpfc/lpfc_attr.c
drivers/scsi/lpfc/lpfc_crtn.h
drivers/scsi/lpfc/lpfc_init.c
drivers/scsi/lpfc/lpfc_scsi.c