android_kernel_google_msm/drivers/scsi
Tejun Heo 9934c8c045 block: implement and enforce request peek/start/fetch
Till now block layer allowed two separate modes of request execution.
A request is always acquired from the request queue via
elv_next_request().  After that, drivers are free to either dequeue it
or process it without dequeueing.  Dequeue allows elv_next_request()
to return the next request so that multiple requests can be in flight.

Executing requests without dequeueing has its merits mostly in
allowing drivers for simpler devices which can't do sg to deal with
segments only without considering request boundary.  However, the
benefit this brings is dubious and declining while the cost of the API
ambiguity is increasing.  Segment based drivers are usually for very
old or limited devices and as converting to dequeueing model isn't
difficult, it doesn't justify the API overhead it puts on block layer
and its more modern users.

Previous patches converted all block low level drivers to dequeueing
model.  This patch completes the API transition by...

* renaming elv_next_request() to blk_peek_request()

* renaming blkdev_dequeue_request() to blk_start_request()

* adding blk_fetch_request() which is combination of peek and start

* disallowing completion of queued (not started) requests

* applying new API to all LLDs

Renamings are for consistency and to break out of tree code so that
it's apparent that out of tree drivers need updating.

[ Impact: block request issue API cleanup, no functional change ]

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Mike Miller <mike.miller@hp.com>
Cc: unsik Kim <donari75@gmail.com>
Cc: Paul Clements <paul.clements@steeleye.com>
Cc: Tim Waugh <tim@cyberelk.net>
Cc: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Cc: David S. Miller <davem@davemloft.net>
Cc: Laurent Vivier <Laurent@lvivier.info>
Cc: Jeff Garzik <jgarzik@pobox.com>
Cc: Jeremy Fitzhardinge <jeremy@xensource.com>
Cc: Grant Likely <grant.likely@secretlab.ca>
Cc: Adrian McMenamin <adrian@mcmen.demon.co.uk>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Cc: Borislav Petkov <petkovbb@googlemail.com>
Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Cc: Alex Dubov <oakad@yahoo.com>
Cc: Pierre Ossman <drzeus@drzeus.cx>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Markus Lidel <Markus.Lidel@shadowconnect.com>
Cc: Stefan Weinhuber <wein@de.ibm.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Pete Zaitcev <zaitcev@redhat.com>
Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2009-05-11 09:52:18 +02:00
..
aacraid Replace all DMA_nBIT_MASK macro with DMA_BIT_MASK(n) 2009-04-13 15:04:33 -07:00
aic7xxx dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
aic7xxx_old
aic94xx dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
arcmsr dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
arm Merge branch 'master' into devel 2009-03-28 20:30:18 +00:00
cxgb3i [SCSI] cxgb3i: call ddp release function directly 2009-04-03 09:23:13 -05:00
device_handler [SCSI] scsi_dh_rdac: Retry for NOT_READY check condition 2009-03-17 22:07:06 -04:00
dpt removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
fcoe [SCSI] fcoe, libfcoe: Add support for FIP. FCoE discovery and keep-alive. 2009-04-03 09:23:08 -05:00
ibmvscsi [SCSI] ibmvfc: Driver version 1.0.5 2009-04-03 09:22:44 -05:00
libfc [SCSI] fcoe, libfc: add libfcoe module 2009-04-03 09:23:04 -05:00
libsas block: cleanup rq->data_len usages 2009-05-11 09:50:55 +02:00
lpfc block: convert to pos and nr_sectors accessors 2009-05-11 09:50:54 +02:00
megaraid dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
mpt2sas block: cleanup rq->data_len usages 2009-05-11 09:50:55 +02:00
osd block: cleanup rq->data_len usages 2009-05-11 09:50:55 +02:00
pcmcia [SCSI] aha152x_cs: Fix regression that keeps driver from using shared interrupts 2009-01-05 12:17:42 -06:00
qla2xxx dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
qla4xxx dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
sym53c8xx_2 dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
.gitignore
3w-9xxx.c Replace all DMA_nBIT_MASK macro with DMA_BIT_MASK(n) 2009-04-13 15:04:33 -07:00
3w-9xxx.h [SCSI] 3w-9xxx: add power management support 2009-03-13 15:46:42 -05:00
3w-xxxx.c [SCSI] 3w-xxxx: remove unnecessary local_irq_save/restore for scsi sg copy API 2008-10-23 11:42:17 -05:00
3w-xxxx.h dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
53c700.c [SCSI] Let scsi_cmnd->cmnd use request->cmd buffer 2008-05-02 10:18:22 -05:00
53c700.h
53c700.scr
53c700_d.h_shipped
a100u2w.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
a100u2w.h
a2091.c [SCSI] a2091: make 2 functions static 2009-04-03 10:17:31 -05:00
a2091.h [SCSI] a2091: make 2 functions static 2009-04-03 10:17:31 -05:00
a3000.c [SCSI] a3000: make 2 functions static 2009-04-03 10:17:17 -05:00
a3000.h [SCSI] a3000: make 2 functions static 2009-04-03 10:17:17 -05:00
a4000t.c scsi: a4000 - Correct driver unregistration in case of failure 2009-04-22 20:39:06 +02:00
advansys.c [SCSI] advansys: use request_firmware 2009-04-03 09:25:23 -05:00
aha152x.c drivers/scsi: use nr_irqs 2008-10-16 16:52:06 +02:00
aha152x.h
aha1542.c [SCSI] aha1542: minor irq handler cleanups 2008-04-27 12:19:55 -05:00
aha1542.h
aha1740.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
aha1740.h
aic7xxx_old.c
atari_NCR5380.c m68k: section mismatch fixes: Atari SCSI 2009-03-26 21:15:29 +01:00
atari_scsi.c m68k: section mismatch fixes: Atari SCSI 2009-03-26 21:15:29 +01:00
atari_scsi.h
atp870u.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
atp870u.h
BusLogic.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
BusLogic.h [SCSI] BusLogic: make FlashPoint support x86-32 only 2008-04-07 12:15:44 -05:00
bvme6000_scsi.c scsi/m68k: Kill NCR_700_detect() warnings 2009-03-24 16:38:25 -07:00
ch.c [SCSI] ch: Add scsi type modalias 2009-03-13 15:48:43 -05:00
constants.c [SCSI] Remove SUGGEST flags 2009-03-12 12:58:02 -05:00
dc395x.c [SCSI] Remove random noop unchecked_isa_dma users 2008-04-07 12:15:40 -05:00
dc395x.h
dmx3191d.c
dpt_i2o.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
dpti.h drivers/scsi/dpt_i2o.c: fix build on alpha 2008-05-08 10:46:56 -07:00
dtc.c
dtc.h
eata.c block: convert to pos and nr_sectors accessors 2009-05-11 09:50:54 +02:00
eata_generic.h
eata_pio.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
eata_pio.h
esp_scsi.c [SCSI] esp_scsi: Use DIV_ROUND_UP 2008-12-29 11:24:14 -06:00
esp_scsi.h sparc: Kill SBUS DVMA layer. 2008-08-29 02:13:10 -07:00
fd_mcs.c
fdomain.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
fdomain.h
FlashPoint.c [SCSI] FlashPoint: fix off-by-one errors 2008-04-27 12:19:55 -05:00
g_NCR5380.c
g_NCR5380.h
g_NCR5380_mmio.c
gdth.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
gdth.h block: unify request timeout handling 2008-10-09 08:56:13 +02:00
gdth_ioctl.h
gdth_proc.c block: unify request timeout handling 2008-10-09 08:56:13 +02:00
gdth_proc.h block: unify request timeout handling 2008-10-09 08:56:13 +02:00
gvp11.c [SCSI] a2091, gvp11: kill warn_unused_result warnings 2009-01-02 12:16:18 -06:00
gvp11.h
hosts.c [SCSI] fix /proc memory leak in the SCSI core 2009-03-12 12:58:17 -05:00
hptiop.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
hptiop.h
ibmmca.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
imm.c [SCSI] replace __FUNCTION__ with __func__ 2008-07-27 10:31:49 -04:00
imm.h
in2000.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
in2000.h
initio.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
initio.h [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
ipr.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
ipr.h [SCSI] ipr: add MSI support 2009-03-12 12:57:58 -05:00
ips.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
ips.h removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
iscsi_tcp.c [SCSI] iscsi class: remove host no argument from session creation callout 2009-03-13 15:29:39 -05:00
iscsi_tcp.h [SCSI] iscsi_tcp: hook iscsi_tcp into new libiscsi_tcp module 2008-12-29 11:24:22 -06:00
jazz_esp.c [SCSI] jazz_esp, sgiwd93, sni_53c710, sun3x_esp: fix platform driver hotplug/coldplug 2008-04-27 12:33:04 -05:00
Kconfig Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2009-04-06 13:24:49 -07:00
lasi700.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
libiscsi.c [SCSI] libiscsi: fix iscsi pool error path 2009-04-03 09:23:14 -05:00
libiscsi_tcp.c [SCSI] libiscsi_tcp: replace tcp_debug/scsi_debug logging with session/conn logging 2009-03-13 15:27:29 -05:00
libsrp.c [SCSI] replace __FUNCTION__ with __func__ 2008-07-27 10:31:49 -04:00
mac53c94.c
mac53c94.h
mac_esp.c [SCSI] mac_esp: fix for quadras with two esp chips 2008-12-29 11:24:19 -06:00
mac_scsi.c m68k: machw.h cleanup 2008-12-28 20:00:03 +01:00
mac_scsi.h
Makefile [SCSI] fcoe, libfc: add libfcoe module 2009-04-03 09:23:04 -05:00
megaraid.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
megaraid.h [SCSI] megaraid: fix mega_internal_command oops 2008-11-05 12:40:23 -05:00
mesh.c [SCSI] SCSI: remove dev->power.power_state from mesh driver 2008-06-05 09:23:44 -05:00
mesh.h
mvme16x_scsi.c scsi/m68k: Kill NCR_700_detect() warnings 2009-03-24 16:38:25 -07:00
mvme147.c [SCSI] wd33c93: fix up cut and paste error 2008-04-07 12:19:07 -05:00
mvme147.h
mvsas.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
ncr53c8xx.c block: unify request timeout handling 2008-10-09 08:56:13 +02:00
ncr53c8xx.h
NCR53c406a.c
NCR5380.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
NCR5380.h
NCR_D700.c [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
NCR_D700.h
NCR_Q720.c
NCR_Q720.h
nsp32.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
nsp32.h removed unused #include <linux/version.h>'s 2008-08-23 12:14:12 -07:00
nsp32_debug.c [SCSI] replace __FUNCTION__ with __func__ 2008-07-27 10:31:49 -04:00
nsp32_io.h
osst.c [SCSI] osst: replace scsi_execute_async with the block layer API 2009-03-12 12:58:10 -05:00
osst.h [SCSI] osst: replace scsi_execute_async with the block layer API 2009-03-12 12:58:10 -05:00
osst_detect.h
osst_options.h
pas16.c
pas16.h
ppa.c [SCSI] replace __FUNCTION__ with __func__ 2008-07-27 10:31:49 -04:00
ppa.h
ps3rom.c powerpc/ps3: Printing fixups for l64 to ll64 conversion drivers/scsi 2009-01-16 16:15:15 +11:00
qla1280.c Merge git://git.infradead.org/~dwmw2/firmware-2.6 2009-04-10 12:01:22 -07:00
qla1280.h [SCSI] qla1280: use request_firmware 2009-04-03 09:24:42 -05:00
qlogicfas.c
qlogicfas408.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
qlogicfas408.h
qlogicpti.c [SCSI] qlogicpti: use request_firmware 2009-04-03 09:25:23 -05:00
qlogicpti.h qlogicpti: Convert to pure OF driver. 2008-08-29 02:14:46 -07:00
raid_class.c [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
script_asm.pl
scsi.c [SCSI] use kmem_cache_zalloc instead of kmem_cache_alloc/memset 2009-04-03 10:16:31 -05:00
scsi.h
scsi_debug.c [SCSI] scsi_debug: DIF/DIX support 2009-03-12 12:57:55 -05:00
scsi_devinfo.c proc 2/2: remove struct proc_dir_entry::owner 2009-03-31 01:14:44 +04:00
scsi_error.c [SCSI] remove scsi_req_map_sg 2009-03-12 12:58:10 -05:00
scsi_ioctl.c [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
scsi_lib.c block: implement and enforce request peek/start/fetch 2009-05-11 09:52:18 +02:00
scsi_lib_dma.c
scsi_logging.h
scsi_module.c
scsi_netlink.c [SCSI] fix netlink kernel-doc 2008-10-23 11:42:17 -05:00
scsi_priv.h PM/Hibernate: Wait for SCSI devices scan to complete during resume 2009-04-13 11:37:07 -07:00
scsi_proc.c proc 2/2: remove struct proc_dir_entry::owner 2009-03-31 01:14:44 +04:00
scsi_sas_internal.h SCSI: convert struct class_device to struct device 2008-04-19 19:10:33 -07:00
scsi_scan.c driver synchronization: make scsi_wait_scan more advanced 2009-04-21 19:40:00 -07:00
scsi_sysctl.c
scsi_sysfs.c [SCSI] scsi_sysfs: delete extra kernel-doc 2009-03-12 12:57:55 -05:00
scsi_tgt_if.c scsi-tgt: BKL pushdown 2008-07-02 15:06:25 -06:00
scsi_tgt_lib.c block: cleanup rq->data_len usages 2009-05-11 09:50:55 +02:00
scsi_tgt_priv.h [SCSI] replace __FUNCTION__ with __func__ 2008-07-27 10:31:49 -04:00
scsi_transport_api.h
scsi_transport_fc.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2009-03-28 13:30:43 -07:00
scsi_transport_fc_internal.h
scsi_transport_iscsi.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2009-03-28 13:30:43 -07:00
scsi_transport_sas.c block: implement and enforce request peek/start/fetch 2009-05-11 09:52:18 +02:00
scsi_transport_spi.c [SCSI] scsi_transport_spi: fix the misuse of scsi_execute return value 2008-12-29 11:24:32 -06:00
scsi_transport_srp.c [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
scsi_transport_srp_internal.h
scsi_typedefs.h
scsi_wait_scan.c driver synchronization: make scsi_wait_scan more advanced 2009-04-21 19:40:00 -07:00
scsicam.c
sd.c block: convert to pos and nr_sectors accessors 2009-05-11 09:50:54 +02:00
sd.h [SCSI] sd: Make revalidate less chatty 2009-03-17 21:43:52 -04:00
sd_dif.c block: convert to pos and nr_sectors accessors 2009-05-11 09:50:54 +02:00
ses.c [SCSI] ses: #if 0 the unused ses_match_host() 2009-04-03 10:17:01 -05:00
sg.c block: add rq->resid_len 2009-05-11 09:50:53 +02:00
sgiwd93.c [SCSI] sgiwd93: Fix compilation warning 2009-01-02 10:58:41 -06:00
sim710.c [SCSI] struct device - replace bus_id with dev_name(), dev_set_name() 2009-01-02 10:22:16 -06:00
sni_53c710.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
sr.c block: convert to pos and nr_sectors accessors 2009-05-11 09:50:54 +02:00
sr.h
sr_ioctl.c [SCSI] add residual argument to scsi_execute and scsi_execute_req 2008-12-29 11:24:24 -06:00
sr_vendor.c drivers/scsi/sr_vendor.c: use bcd2bin 2008-10-20 08:52:41 -07:00
st.c block: add rq->resid_len 2009-05-11 09:50:53 +02:00
st.h [SCSI] st: remove unused frp_sg_current 2009-01-02 12:02:25 -06:00
st_options.h [SCSI] st: add option to use SILI in variable block reads 2008-04-07 12:15:39 -05:00
stex.c dma-mapping: replace all DMA_32BIT_MASK macro with DMA_BIT_MASK(32) 2009-04-07 08:31:11 -07:00
sun3_NCR5380.c
sun3_scsi.c
sun3_scsi.h
sun3_scsi_vme.c [SCSI] sun3_scsi_vme: add MODULE_LICENSE 2008-04-16 09:28:11 -05:00
sun3x_esp.c [SCSI] sun3x_esp: Convert && to || 2008-10-23 11:42:19 -05:00
sun_esp.c sparc: Annotate of_device_id arrays with const or __initdata. 2008-08-31 01:23:17 -07:00
sym53c416.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
sym53c416.h
t128.c
t128.h
tmscsim.c [SCSI] tmscsim: fix indentation and braces disagreement - add braces 2008-12-29 11:24:14 -06:00
tmscsim.h
u14-34f.c block: convert to pos and nr_sectors accessors 2009-05-11 09:50:54 +02:00
ultrastor.c scsi: fix integer as NULL pointer warnings 2008-04-28 17:31:13 -07:00
ultrastor.h
wd33c93.c [SCSI] WD33C93: let platform stub override no_sync/fast/dma_mode 2008-04-07 12:19:01 -05:00
wd33c93.h
wd7000.c [SCSI] Clean up my email address and use a single standard address for everything 2008-12-29 11:24:12 -06:00
zalon.c parisc: fix dev_printk() compile warnings for accessing a device struct 2009-03-13 01:18:14 -04:00
zorro7xx.c