scsi: scsi_dh_alua: Return BLK_STS_AGAIN for ALUA transitioning state
authorHannes Reinecke <hare@suse.de>
Wed, 30 Sep 2020 08:02:54 +0000 (10:02 +0200)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 11 Nov 2020 03:58:12 +0000 (22:58 -0500)
commit268940b80fa4096397fd0a28e6ad807e64120215
treef1adea276f9b09fb5cf5a63b415352eb66538dbc
parente21ee5a6b9c9d30fd07ce5bd3e4a5668a03af6d9
scsi: scsi_dh_alua: Return BLK_STS_AGAIN for ALUA transitioning state

When the ALUA state indicates transitioning we should not retry the command
immediately, but rather complete the command with BLK_STS_AGAIN to signal
the completion handler that it might be retried.  This allows multipathing
to redirect the command to another path if possible, and avoid stalls
during lengthy transitioning times.

Link: https://lore.kernel.org/r/20200930080256.90964-3-hare@suse.de
Reviewed-by: Ewan D. Milne <emilne@redhat.com>
Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/device_handler/scsi_dh_alua.c
drivers/scsi/scsi_lib.c