linux/drivers/scsi
Matthew Wilcox 3e082a910d [SCSI] Add ability to scan scsi busses asynchronously
Since it often takes around 20-30 seconds to scan a scsi bus, it's
highly advantageous to do this in parallel with other things.  The bulk
of this patch is ensuring that devices don't change numbering, and that
all devices are discovered prior to trying to start init.  For those
who build SCSI as modules, there's a new scsi_wait_scan module that will
ensure all bus scans are finished.

This patch only handles drivers which call scsi_scan_host.  Fibre Channel,
SAS, SATA, USB and Firewire all need additional work.

Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
2006-10-11 13:44:25 -05:00
..
aacraid IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
aic7xxx IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
aic7xxx_old Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
aic94xx IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
arcmsr IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
arm IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
dpt [SCSI] drivers/scsi/dpt/dpti_i2o.h: removal of old scsi code 2006-09-26 10:40:13 -07:00
ibmvscsi IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
libsas [PATCH] SCSI: fix request flag-related build breakage 2006-09-30 19:33:43 -07:00
lpfc IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
megaraid IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
pcmcia IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
qla2xxx Merge git://git.infradead.org/~dhowells/irq-2.6 2006-10-05 16:32:01 -07:00
qla4xxx Merge git://git.infradead.org/~dhowells/irq-2.6 2006-10-05 16:32:01 -07:00
sym53c8xx_2 IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
.gitignore
3w-9xxx.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
3w-9xxx.h [SCSI] 3ware 9000 add big endian support 2006-03-19 10:18:42 -06:00
3w-xxxx.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
3w-xxxx.h [SCSI] 3w-xxxx: fix "ATA UDMA upgrade" message number 2006-09-26 10:39:27 -07:00
53c7xx_d.h_shipped
53c7xx_u.h_shipped
53c7xx.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
53c7xx.h
53c7xx.scr
53c700_d.h_shipped
53c700.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
53c700.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
53c700.scr
a100u2w.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
a100u2w.h
a2091.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
a2091.h [SCSI] wd33c93: Scsi_Cmnd convertion 2006-09-12 17:12:31 -05:00
a3000.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
a3000.h [SCSI] wd33c93: Scsi_Cmnd convertion 2006-09-12 17:12:31 -05:00
advansys.c [PATCH] NULL noise removal: advansys 2006-10-10 15:37:21 -07:00
advansys.h
aha152x.c Various drivers' irq handlers: kill dead code, needless casts 2006-10-06 15:00:58 -04:00
aha152x.h
aha1542.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
aha1542.h
aha1740.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
aha1740.h
aic7xxx_old.c Various drivers' irq handlers: kill dead code, needless casts 2006-10-06 15:00:58 -04:00
amiga7xx.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
amiga7xx.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
atari_dma_emul.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
atari_NCR5380.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
atari_scsi.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
atari_scsi.h
atp870u.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
atp870u.h
blz1230.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
blz2060.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
BusLogic.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
BusLogic.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
bvme6000.c
bvme6000.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
ch.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
constants.c [SCSI] update additional sense codes and some opcode names 2006-07-09 09:10:06 -05:00
cyberstorm.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
cyberstormII.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
dc395x.c [PATCH] use %zu for size_t 2006-10-10 15:37:24 -07:00
dc395x.h
dec_esp.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
dmx3191d.c [SCSI] pci_module_init conversion in scsi subsystem 2006-09-26 11:35:32 -07:00
dpt_i2o.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
dpti.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
dtc.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
dtc.h
eata_generic.h [SCSI] eata_pio cleanup and PCI fix 2006-09-23 20:28:19 -05:00
eata_pio.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
eata_pio.h
eata.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
esp.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
esp.h [SCSI] sparc: Port esp to new SBUS driver layer. 2006-06-23 23:15:54 -07:00
fastlane.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
fcal.c [SCSI] Improve inquiry printing 2006-08-06 15:59:26 -05:00
fcal.h
fd_mcs.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
fdomain.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
fdomain.h
FlashPoint.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
g_NCR5380_mmio.c
g_NCR5380.c [SCSI] Improve inquiry printing 2006-08-06 15:59:26 -05:00
g_NCR5380.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
gdth_ioctl.h
gdth_kcompat.h [SCSI] remove the scsi_request interface from the gdth driver 2006-06-10 10:24:40 -05:00
gdth_proc.c [SCSI] remove the scsi_request interface from the gdth driver 2006-06-10 10:24:40 -05:00
gdth_proc.h [SCSI] remove the scsi_request interface from the gdth driver 2006-06-10 10:24:40 -05:00
gdth.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
gdth.h [SCSI] drivers/scsi/gdth.h: removal of old scsi code 2006-09-26 11:35:16 -07:00
gvp11.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
gvp11.h [SCSI] wd33c93: Scsi_Cmnd convertion 2006-09-12 17:12:31 -05:00
hosts.c [SCSI] add shared tag map helpers 2006-08-31 11:18:03 -04:00
hptiop.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
hptiop.h [SCSI] hptiop: HighPoint RocketRAID 3xxx controller driver 2006-06-10 10:36:13 -05:00
ibmmca.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
ibmmca.h
ide-scsi.c [PATCH] Remove ->rq_status from struct request 2006-09-30 20:29:23 +02:00
imm.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
imm.h Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
in2000.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
in2000.h
initio.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
initio.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
ipr.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
ipr.h [SCSI] ipr: Support attaching SATA devices 2006-09-26 09:23:18 -07:00
ips.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
ips.h [SCSI] scsi: Convertion to struct scsi_cmnd in ips-driver 2006-10-03 17:28:29 -05:00
iscsi_tcp.c Merge mulgrave-w:git/scsi-misc-2.6 2006-09-23 15:33:43 -05:00
iscsi_tcp.h Merge mulgrave-w:git/scsi-misc-2.6 2006-09-23 15:33:43 -05:00
jazz_esp.c [SCSI] More buffer->request_buffer changes 2006-07-14 09:41:13 -05:00
Kconfig Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2006-10-04 18:57:35 -07:00
lasi700.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
libiscsi.c [SCSI] libiscsi: don't call into lld to cleanup task 2006-09-02 13:37:40 -05:00
mac53c94.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
mac53c94.h
mac_esp.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
mac_scsi.c [PATCH] m68k: convert mac irq code 2006-06-25 10:00:58 -07:00
mac_scsi.h
Makefile [SCSI] Add ability to scan scsi busses asynchronously 2006-10-11 13:44:25 -05:00
mca_53c9x.c
megaraid.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
megaraid.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
mesh.c [PATCH] fix mesh compile errors after irq changes 2006-10-06 12:11:08 -07:00
mesh.h
mvme16x.c
mvme16x.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
mvme147.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
mvme147.h [SCSI] wd33c93: Scsi_Cmnd convertion 2006-09-12 17:12:31 -05:00
ncr53c8xx.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
ncr53c8xx.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
NCR53c406a.c Various drivers' irq handlers: kill dead code, needless casts 2006-10-06 15:00:58 -04:00
NCR53C9x.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
NCR53C9x.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
NCR5380.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
NCR5380.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
NCR_D700.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
NCR_D700.h
NCR_Q720.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
NCR_Q720.h
nsp32_debug.c
nsp32_io.h
nsp32.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
nsp32.h [SCSI] drivers/scsi/nsp32.h: removal of old scsi code 2006-09-26 10:39:00 -07:00
oktagon_esp.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
oktagon_io.S Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
osst_detect.h
osst_options.h
osst.c [SCSI] SCSI osst: add error handling to module init, sysfs 2006-10-04 13:12:44 -05:00
osst.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
pas16.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
pas16.h
pci2000.h
pluto.c [PATCH] Split struct request ->flags into two parts 2006-09-30 20:23:37 +02:00
pluto.h
ppa.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
ppa.h Remove all inclusions of <linux/config.h> 2006-10-04 03:38:54 -04:00
psi240i.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
psi240i.h
psi_chip.h
ql1040_fw.h
ql1280_fw.h
ql12160_fw.h
qla1280.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
qla1280.h
qlogicfas408.c Various drivers' irq handlers: kill dead code, needless casts 2006-10-06 15:00:58 -04:00
qlogicfas408.h IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
qlogicfas.c
qlogicpti_asm.c
qlogicpti.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
qlogicpti.h
raid_class.c [SCSI] raid class: handle component-add errors 2006-10-04 13:27:26 -05:00
script_asm.pl
scsi_debug.c [SCSI] scsi_debug version 1.80 2006-09-23 17:37:44 -05:00
scsi_debug.h
scsi_devinfo.c [SCSI] scsi_devinfo: scsi2 HP and Hitachi entries 2006-10-01 15:09:19 -05:00
scsi_error.c [PATCH] gfp annotations: scsi_error 2006-10-10 15:37:23 -07:00
scsi_ioctl.c [PATCH] scsi: kill overeager "not-ready" messages 2006-07-28 09:04:09 +02:00
scsi_lib.c Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2006-10-04 18:57:35 -07:00
scsi_logging.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
scsi_module.c
scsi_netlink.c [SCSI] SCSI and FC Transport: add netlink support for posting of transport events 2006-09-02 15:33:49 -05:00
scsi_priv.h [SCSI] Add ability to scan scsi busses asynchronously 2006-10-11 13:44:25 -05:00
scsi_proc.c [SCSI] Improve inquiry printing 2006-08-06 15:59:26 -05:00
scsi_sas_internal.h [SCSI] scsi_transport_sas: introduce a sas_port entity 2006-06-28 12:40:54 -04:00
scsi_scan.c [SCSI] Add ability to scan scsi busses asynchronously 2006-10-11 13:44:25 -05:00
scsi_sysctl.c
scsi_sysfs.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
scsi_transport_api.h [PATCH] SCSI: make scsi_implement_eh() generic API for SCSI transports 2006-05-20 00:39:08 -04:00
scsi_transport_fc.c [SCSI] scsi_transport_fc: fixup netlink arguments 2006-09-23 22:07:20 -05:00
scsi_transport_iscsi.c [SCSI] iscsi class: update version 2006-09-02 13:37:43 -05:00
scsi_transport_sas.c [SCSI] scsi_transport_sas: make minimum and maximum linkrate settable quantities 2006-09-07 15:16:44 -05:00
scsi_transport_spi.c [SCSI] SPI transport class: misc DV fixes 2006-09-23 20:53:53 -05:00
scsi_typedefs.h [SCSI] remove scsi_request infrastructure 2006-06-10 16:24:40 -05:00
scsi_wait_scan.c [SCSI] Add ability to scan scsi busses asynchronously 2006-10-11 13:44:25 -05:00
scsi.c Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2006-10-04 18:57:35 -07:00
scsi.h [SCSI] remove unnecessary includes of linux/config.h from drivers/scsi/ 2006-08-19 13:39:11 -07:00
scsicam.c [SCSI] Bogus disk geometry on large disks 2006-06-26 16:33:10 -05:00
sd.c Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2006-10-04 18:57:35 -07:00
seagate.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
sg.c [SCSI] sg: fixes for large page_size 2006-09-26 09:23:15 -07:00
sgiwd93.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
sim710.c [PATCH] EISA bus MODALIAS attributes support 2006-09-27 08:26:19 -07:00
sr_ioctl.c [PATCH] kill cdrom ->dev_ioctl method 2006-03-23 07:38:09 -08:00
sr_vendor.c Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
sr.c [SCSI] hide EH backup data outside the scsi_cmnd 2006-07-09 11:56:44 -05:00
sr.h [PATCH] kill cdrom ->dev_ioctl method 2006-03-23 07:38:09 -08:00
st_options.h
st.c [SCSI] SCSI st: fix error handling in module init, sysfs 2006-10-04 13:16:29 -05:00
st.h [SCSI] st: remove unused st_buffer.in_use 2006-06-29 11:06:30 -04:00
stex.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
sun3_NCR5380.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
sun3_scsi_vme.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
sun3_scsi.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
sun3_scsi.h
sun3x_esp.c [SCSI] More buffer->request_buffer changes 2006-07-14 09:41:13 -05:00
sym53c416.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
sym53c416.h
t128.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00
t128.h
tmscsim.c Various drivers' irq handlers: kill dead code, needless casts 2006-10-06 15:00:58 -04:00
tmscsim.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
u14-34f.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
ultrastor.c Various drivers' irq handlers: kill dead code, needless casts 2006-10-06 15:00:58 -04:00
ultrastor.h [SCSI] scsi-driver ultrastore replace Scsi_Cmnd with struct scsi_cmnd 2006-09-07 12:39:34 -05:00
wd33c93.c [SCSI] More buffer->request_buffer changes 2006-07-14 09:41:13 -05:00
wd33c93.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
wd7000.c IRQ: Maintain regs pointer globally rather than passing to IRQ handlers 2006-10-05 15:10:12 +01:00
zalon.c [PATCH] irq-flags: scsi: Use the new IRQF_ constants 2006-07-02 13:58:53 -07:00