In: https://lore.kernel.org/all/CAK3e-EZbJMDHkozGiz8LnMNAZ+SoCA+QeK0kpkqM4vQ4pz86SQ@xxxxxxxxxxxxxx/t/ Zhengyuan Liu found an issue where failovers are taking a long time with lots of devices (/dev/sdXYZ nodes). The problem is that iscsid expects most nl operations to be fast (ignoring mem issues) and when the session block code was written blocking a queue/scsi_device was just setting some flag bits and state values more or less. Now a block call will actually handle IO that has been sent to the driver, so it can be expensive. When you add in more and more devices, then a session block call will take longer and longer. This patchset moves the recovery and unbind operations to a per session work queue instead of the mix or per session, host and module.