]> git.itanic.dy.fi Git - linux-stable/commit
scsi: lpfc: Return DID_TRANSPORT_DISRUPTED instead of DID_REQUEUE
authorHannes Reinecke <hare@suse.de>
Wed, 24 Aug 2022 06:00:33 +0000 (08:00 +0200)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 1 Sep 2022 04:21:56 +0000 (00:21 -0400)
commitc0a50cd389c3ed54831e240023dd12bafa56b3a6
tree96175d4cd215edb6701fa1512bee21e8c343743a
parent785538bfdd682c8e962341d585f9b88262a0475e
scsi: lpfc: Return DID_TRANSPORT_DISRUPTED instead of DID_REQUEUE

When the driver hits an internal error condition returning DID_REQUEUE the
I/O will be retried on the same ITL nexus.  This will inhibit multipathing,
resulting in endless retries even if the error could have been resolved by
using a different ITL nexus.  Return DID_TRANSPORT_DISRUPTED to allow for
multipath to engage and route I/O to another ITL nexus.

Link: https://lore.kernel.org/r/20220824060033.138661-1-hare@suse.de
Reviewed-by: James Smart <jsmart2021@gmail.com>
Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/lpfc/lpfc_scsi.c