diff options
author | Mike Christie <michael.christie@oracle.com> | 2021-11-06 01:10:47 +0300 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2021-11-17 03:42:30 +0300 |
commit | a0c2f8b6709a9a4af175497ca65f93804f57b248 (patch) | |
tree | c08c54302255e9432e1810bb437f2e3c0377933f /drivers/scsi/scsi_sysfs.c | |
parent | 3ff1f6b6ba6f97f50862aa50e79959cc8ddc2566 (diff) | |
download | linux-a0c2f8b6709a9a4af175497ca65f93804f57b248.tar.xz |
scsi: iscsi: Unblock session then wake up error handler
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>
Diffstat (limited to 'drivers/scsi/scsi_sysfs.c')
0 files changed, 0 insertions, 0 deletions