On Mon, May 22, 2017 at 02:56:18PM +0200, Hannes Reinecke wrote: > > No, we don't. The driver simply sets a tag aside and doesn't expose > > it to the block layer. Similar to what smartpqi already does for LUN > > resets and AENs, mpt3sas does for the ioctl tags and NVMe does for AERs. > > Personally I feel a bit uncomfortable by setting aside just one tag for > TMFs; this assumes we'll never be sending LUN resets to devices in parallel. > > But maybe this is a discussion for another time, if and when we finally > move to that. For midlayer initiated EH that's the case - they are serialized by being issued from the eh thread. For the ioctl we have the scsi_block_when_processing_errors / scsi_host_in_recovery magic, although that hand crafted primitive is a bit of a mess, we'd be much better off with a real EH mutex.