On Thu, 1 Apr 2021 11:11:05 +0200, mwilck@xxxxxxxx wrote: > 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] > > [...] Applied to 5.12/scsi-fixes, thanks! [1/1] scsi: scsi_transport_srp: don't block target in SRP_PORT_LOST state https://git.kernel.org/mkp/scsi/c/5cd0f6f57639 -- Martin K. Petersen Oracle Linux Engineering