mirror of https://gitee.com/openkylin/linux.git
[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: Matthew Wilcox <matthew@wil.cx> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
parent
902762831c
commit
21db1882f7
|
@ -216,6 +216,23 @@ config SCSI_LOGGING
|
||||||
there should be no noticeable performance impact as long as you have
|
there should be no noticeable performance impact as long as you have
|
||||||
logging turned off.
|
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"
|
menu "SCSI Transports"
|
||||||
depends on SCSI
|
depends on SCSI
|
||||||
|
|
||||||
|
|
|
@ -89,7 +89,13 @@ module_param_named(max_luns, max_scsi_luns, int, S_IRUGO|S_IWUSR);
|
||||||
MODULE_PARM_DESC(max_luns,
|
MODULE_PARM_DESC(max_luns,
|
||||||
"last scsi LUN (should be between 1 and 2^32-1)");
|
"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_param_string(scan, scsi_scan_type, sizeof(scsi_scan_type), S_IRUGO);
|
||||||
MODULE_PARM_DESC(scan, "sync, async or none");
|
MODULE_PARM_DESC(scan, "sync, async or none");
|
||||||
|
|
Loading…
Reference in New Issue