diff options
author | Martin Wilck <mwilck@suse.com> | 2021-04-01 11:11:05 +0200 |
---|---|---|
committer | Martin K. Petersen <martin.petersen@oracle.com> | 2021-04-05 23:14:53 -0400 |
commit | 5cd0f6f57639c5afbb36100c69281fee82c95ee7 (patch) | |
tree | 8323a2f9813fe389c104e9d87fd277c90eed83b7 /kernel/reboot.c | |
parent | 0352c3d3959a6cf543075b88c7e662fd3546f12e (diff) | |
download | linux-stable-5cd0f6f57639c5afbb36100c69281fee82c95ee7.tar.gz linux-stable-5cd0f6f57639c5afbb36100c69281fee82c95ee7.tar.bz2 linux-stable-5cd0f6f57639c5afbb36100c69281fee82c95ee7.zip |
scsi: scsi_transport_srp: Don't block target in SRP_PORT_LOST state
rport_dev_loss_timedout() sets the rport state to SRP_PORT_LOST and the
SCSI target state to SDEV_TRANSPORT_OFFLINE. If this races with
srp_reconnect_work(), a warning is printed:
Mar 27 18:48:07 ictm1604s01h4 kernel: dev_loss_tmo expired for SRP port-18:1 / host18.
Mar 27 18:48:07 ictm1604s01h4 kernel: ------------[ cut here ]------------
Mar 27 18:48:07 ictm1604s01h4 kernel: scsi_internal_device_block(18:0:0:100) failed: ret = -22
Mar 27 18:48:07 ictm1604s01h4 kernel: Call Trace:
Mar 27 18:48:07 ictm1604s01h4 kernel: ? scsi_target_unblock+0x50/0x50 [scsi_mod]
Mar 27 18:48:07 ictm1604s01h4 kernel: starget_for_each_device+0x80/0xb0 [scsi_mod]
Mar 27 18:48:07 ictm1604s01h4 kernel: target_block+0x24/0x30 [scsi_mod]
Mar 27 18:48:07 ictm1604s01h4 kernel: device_for_each_child+0x57/0x90
Mar 27 18:48:07 ictm1604s01h4 kernel: srp_reconnect_rport+0xe4/0x230 [scsi_transport_srp]
Mar 27 18:48:07 ictm1604s01h4 kernel: srp_reconnect_work+0x40/0xc0 [scsi_transport_srp]
Avoid this by not trying to block targets for rports in SRP_PORT_LOST
state.
Link: https://lore.kernel.org/r/20210401091105.8046-1-mwilck@suse.com
Reviewed-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Martin Wilck <mwilck@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'kernel/reboot.c')
0 files changed, 0 insertions, 0 deletions