On Tue, 2017-04-25 at 21:17 +0000, Song Liu wrote: > I am not sure I fully understand the problem here. If I understand the logic > correctly, when a device is being removed, it will stay in scsi_host->__devices > until fully the remove routine is finished. And LUN scanning in parallel will > find the device with scsi_device_lookup_by_target(), and thus it would not > rescan the device until the device is fully removed? Did I miss anything here? Hello Song, The SCSI core is already complicated enough. Please don't complicate it further by making subtle changes to the semantics of scan_mutex. Please also note that I have proposed an alternative, namely to make the START STOP UNIT command asynchronous. Bart.