Commit 21db1882 authored by Matthew Wilcox's avatar Matthew Wilcox Committed by James Bottomley
Browse files

[SCSI] Add Kconfig option for asynchronous SCSI scanning



Without this patch, the user has to add a kernel command line parameter
to get asynchronous SCSI scanning.  Now they can select the default at
compile time and still override it at boot time if they need to.

Signed-off-by: default avatarMatthew Wilcox <matthew@wil.cx>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
parent 90276283
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -216,6 +216,23 @@ config SCSI_LOGGING
	  there should be no noticeable performance impact as long as you have
	  logging turned off.

config SCSI_SCAN_ASYNC
	bool "Asynchronous SCSI scanning"
	depends on SCSI
	help
	  The SCSI subsystem can probe for devices while the rest of the
	  system continues booting, and even probe devices on different
	  busses in parallel, leading to a significant speed-up.
	  If you have built SCSI as modules, enabling this option can
	  be a problem as the devices may not have been found by the
	  time your system expects them to have been.  You can load the
	  scsi_wait_scan module to ensure that all scans have completed.
	  If you build your SCSI drivers into the kernel, then everything
	  will work fine if you say Y here.

	  You can override this choice by specifying scsi_mod.scan="sync"
	  or "async" on the kernel's command line.

menu "SCSI Transports"
	depends on SCSI

+7 −1
Original line number Diff line number Diff line
@@ -89,7 +89,13 @@ module_param_named(max_luns, max_scsi_luns, int, S_IRUGO|S_IWUSR);
MODULE_PARM_DESC(max_luns,
		 "last scsi LUN (should be between 1 and 2^32-1)");

static char scsi_scan_type[6] = "sync";
#ifdef CONFIG_SCSI_SCAN_ASYNC
#define SCSI_SCAN_TYPE_DEFAULT "async"
#else
#define SCSI_SCAN_TYPE_DEFAULT "sync"
#endif

static char scsi_scan_type[6] = SCSI_SCAN_TYPE_DEFAULT;

module_param_string(scan, scsi_scan_type, sizeof(scsi_scan_type), S_IRUGO);
MODULE_PARM_DESC(scan, "sync, async or none");