Hi all, having been subjected to the pain of trying to bootstrap a really large machine with systemd I decided to implement LUN masking in scsi_transport_fc. The principle is simple: disallow the automated LUN scanning when discovering a rport, and create udev rules which selectively enable individual LUNs by echoing the relevant values in the 'scan' attribute of the SCSI host. With that I'm able to boot an arbitrary large machine without running into any udev or systemd imposed timeout. To _disable_ LUN masking and restoring the original behaviour I've noticed that the 'scan' sysfs attribute is actually synchronous, ie the calling process will be blocked until the entire LUN scan is completed. So I've added another module parameter 'async_user_scan' to move the scanning onto the existing scan workqueue, and unblock the calling process. As usual, comments and reviews are welcome. Hannes Reinecke (2): scsi_transport_fc: implement 'disable_target_scan' module parameter scsi_transport_fc: Implement 'async_user_scan' module parameter drivers/scsi/scsi_transport_fc.c | 47 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 44 insertions(+), 3 deletions(-) -- 1.8.5.6 -- 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