On 10/12/2015 09:36 PM, Christoph Hellwig wrote: > On Mon, Oct 12, 2015 at 03:29:45PM -0400, Mike Snitzer wrote: >> What may be getting lost during this discussion is that historically >> it has been important to be able to attach the scsi_dh during the SCSI >> scan. As the scsi_dh alters the SCSI midlayer's sense code processing >> (via callout to the attached scsi_dh). And this altered SCSI sense >> code handling amounts to the difference between a successful/quick >> boot versus hugely delayed and ultimately error-prone boot on systems >> with many LUNs that have multiple paths. >> >> So that is why either of these solutions were deployed: >> 1) in RHEL6 we'd require dracut to preload the scsi_dh modules early >> in loading the initramfs >> 2) in RHEL7 all scsi_dh modules _are_ builtin >> >> Both achieve the goal of having all required scsi_dh available during SCSI scan. > > Yes, and both are workarounds. I tried to implement this properly, > but due to async probing it doesn't actually work. Given the statement > from Tejun I don't really see how to ever get it to work as long as > we use async probing and the module loading code isn't safe to call > from the async probe path unfortunately. > We've originally designed them to be modular as some handler (notably emc, netapp, and alua) are mutually exclusive, ie you could load either the alua or one of the vendor specific ones. In the light of the discussion I think it would be better to upgrade the device handler to become their own transport class, to be hooked in between scsi_target and scsi_device. That way we would have a way of exposing the topology (target port groups etc) and would get rid of the probing problem. It would mean that effectively the device handler would be demodularized and become a compile-time option, but even that wouldn't be too much of an issue, seeing that most vendors load the modules unconditionally anyway. (BTW, SUSE also loads the modules unconditionally ...) Cheers, Hannes -- Dr. Hannes Reinecke zSeries & Storage hare@xxxxxxx +49 911 74053 688 SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton HRB 21284 (AG Nürnberg) -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html