Mike Christie 8368b993f3 scsi: iscsi: Unblock session then wake up error handler
[ Upstream commit a0c2f8b6709a9a4af175497ca65f93804f57b248 ]

We can race where iscsi_session_recovery_timedout() has woken up the error
handler thread and it's now setting the devices to offline, and
session_recovery_timedout()'s call to scsi_target_unblock() is also trying
to set the device's state to transport-offline. We can then get a mix of
states.

For the case where we can't relogin we want the devices to be in
transport-offline so when we have repaired the connection
__iscsi_unblock_session() can set the state back to running.

Set the device state then call into libiscsi to wake up the error handler.

Link: https://lore.kernel.org/r/20211105221048.6541-2-michael.christie@oracle.com
Reviewed-by: Lee Duncan <lduncan@suse.com>
Signed-off-by: Mike Christie <michael.christie@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-12-08 08:50:12 +01:00
..
2021-07-20 16:16:08 +02:00
2021-07-20 16:16:08 +02:00
2018-08-21 23:54:17 -04:00
2017-12-04 20:32:53 -05:00
2018-06-19 22:02:25 -04:00
2018-06-19 22:02:25 -04:00
2018-06-19 22:02:25 -04:00
2021-11-26 11:36:12 +01:00
2018-05-18 12:03:51 -04:00
2018-06-19 22:02:25 -04:00
2018-06-19 22:02:25 -04:00
2017-08-25 17:21:10 -04:00
2019-12-01 09:16:26 +01:00
2021-05-22 10:59:33 +02:00
2018-08-15 22:06:26 -07:00
2018-06-12 16:19:22 -07:00
2018-06-12 16:19:22 -07:00
2017-11-14 16:23:44 -08:00
2018-08-15 22:06:26 -07:00
2018-06-10 13:01:12 -07:00
2018-06-19 22:02:25 -04:00
2018-08-15 22:06:26 -07:00
2021-05-22 10:59:34 +02:00
2021-05-22 10:59:34 +02:00
2018-05-01 23:30:12 -04:00