linux/drivers/ide
Arnd Bergmann 6e9624b8ca block: push down BKL into .open and .release
The open and release block_device_operations are currently
called with the BKL held. In order to change that, we must
first make sure that all drivers that currently rely
on this have no regressions.

This blindly pushes the BKL into all .open and .release
operations for all block drivers to prepare for the
next step. The drivers can subsequently replace the BKL
with their own locks or remove it completely when it can
be shown that it is not needed.

The functions blkdev_get and blkdev_put are the only
remaining users of the big kernel lock in the block
layer, besides a few uses in the ioctl code, none
of which need to serialize with blkdev_{get,put}.

Most of these two functions is also under the protection
of bdev->bd_mutex, including the actual calls to
->open and ->release, and the common code does not
access any global data structures that need the BKL.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
2010-08-07 18:25:34 +02:00
..
Kconfig ide: update Kconfig text to mark as deprecated 2009-10-29 03:09:26 -07:00
Makefile ide: merge ide_arm and ide_generic host drivers 2009-03-31 20:15:24 +02:00
aec62xx.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
ali14xx.c ide: change ->set_pio_mode method parameters 2010-01-19 01:44:41 -08:00
alim15x3.c alim15x3: fix handling of UDMA enable bit 2010-01-19 01:52:31 -08:00
amd74xx.c amd74xx: use ->pio_mode value to determine pair device speed 2010-01-19 01:52:32 -08:00
at91_ide.c ide: change ->set_pio_mode method parameters 2010-01-19 01:44:41 -08:00
atiixp.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
au1xxx-ide.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-next-2.6 2010-03-04 08:24:06 -08:00
buddha.c ide: move ack_intr() method into 'struct ide_port_ops' (take 2) 2009-06-15 18:52:58 +02:00
cmd64x.c cmd64x: fix handling of address setup timings 2010-01-19 01:52:32 -08:00
cmd640.c cmd640: fix kernel oops in test_irq() method 2010-05-11 00:08:03 -07:00
cs5520.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
cs5530.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
cs5535.c cs5535: use ->pio_mode value to determine pair device speed 2010-01-19 01:52:33 -08:00
cs5536.c cs5536: use ->pio_mode value to determine pair device speed 2010-01-19 01:52:33 -08:00
cy82c693.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
delkin_cb.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
dtc2278.c ide: change ->set_pio_mode method parameters 2010-01-19 01:44:41 -08:00
falconide.c ide: move ack_intr() method into 'struct ide_port_ops' (take 2) 2009-06-15 18:52:58 +02:00
gayle.c m68k: amiga - Amiga Gayle IDE platform device conversion 2010-05-26 19:51:09 +02:00
hpt366.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ht6560b.c ide: change ->set_pio_mode method parameters 2010-01-19 01:44:41 -08:00
icside.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/ide-2.6 2010-03-02 23:57:59 -08:00
ide-4drives.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
ide-acpi.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ide-atapi.c block: fix some more cmd_type cleanup fallout 2010-08-07 18:22:29 +02:00
ide-cd.c block: push down BKL into .open and .release 2010-08-07 18:25:34 +02:00
ide-cd.h ide-cd: convert to using generic sense request 2009-04-28 07:37:30 +02:00
ide-cd_ioctl.c block: unify flags for struct bio and struct request 2010-08-07 18:20:39 +02:00
ide-cd_verbose.c
ide-cs.c pcmcia: dev_node removal (drivers with updated printk call) 2010-05-10 10:23:15 +02:00
ide-devsets.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ide-disk.c block: remove q->prepare_flush_fn completely 2010-08-07 18:24:15 +02:00
ide-disk.h [PATCH] switch ide_disk_ops ->ioctl() to sane prototype 2008-10-21 07:47:30 -04:00
ide-disk_ioctl.c block: push down BKL into .locked_ioctl 2010-08-07 18:25:00 +02:00
ide-disk_proc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ide-dma-sff.c ide: remove wmb() from ide-dma-sff.c and scc_pata.c 2009-04-08 14:12:49 +02:00
ide-dma.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6 2010-04-08 07:45:36 -07:00
ide-eh.c block: remove wrappers for request type/flags 2010-08-07 18:17:56 +02:00
ide-floppy.c block: unify flags for struct bio and struct request 2010-08-07 18:20:39 +02:00
ide-floppy.h [PATCH] switch ide_disk_ops ->ioctl() to sane prototype 2008-10-21 07:47:30 -04:00
ide-floppy_ioctl.c block: push down BKL into .locked_ioctl 2010-08-07 18:25:00 +02:00
ide-floppy_proc.c ide: convert to ->proc_fops 2009-09-01 17:52:57 -07:00
ide-gd.c block: push down BKL into .open and .release 2010-08-07 18:25:34 +02:00
ide-gd.h ide: move ->failed_pc to ide_drive_t 2009-03-27 12:46:34 +01:00
ide-generic.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
ide-h8300.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
ide-io-std.c ide: refactor tf_read() method 2009-04-08 14:13:03 +02:00
ide-io.c block: fix some more cmd_type cleanup fallout 2010-08-07 18:22:29 +02:00
ide-ioctls.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ide-iops.c ide: add SATA cable detection support 2010-01-19 01:41:57 -08:00
ide-legacy.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
ide-lib.c Merge branch 'master' into for-2.6.31 2009-05-22 20:28:35 +02:00
ide-park.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ide-pci-generic.c pata_piccolo: Driver for old Toshiba chipsets 2009-12-03 14:35:31 -05:00
ide-pio-blacklist.c
ide-pm.c block: remove wrappers for request type/flags 2010-08-07 18:17:56 +02:00
ide-pnp.c ide: remove hw_regs_t typedef 2009-05-17 19:12:25 +02:00
ide-probe.c Revert "ide: skip probe if there are no devices on the port (v2)" 2010-03-28 18:58:28 -07:00
ide-proc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ide-scan-pci.c
ide-sysfs.c ide: move sysfs support to ide-sysfs.c 2009-01-02 16:12:48 +01:00
ide-tape.c block: push down BKL into .open and .release 2010-08-07 18:25:34 +02:00
ide-taskfile.c ide: Fix IDE taskfile with cfq scheduler 2010-04-06 16:43:33 -07:00
ide-timings.c ide: ide_timing_compute() fixup 2010-01-19 11:30:09 -08:00
ide-xfer-mode.c ide: make ide_get_best_pio_mode() static 2010-01-19 01:52:36 -08:00
ide.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ide_platform.c IDE: pass IRQ flags to the IDE core 2010-04-15 14:20:53 -07:00
it821x.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
it8172.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
it8213.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
jmicron.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
macide.c ide: move ack_intr() method into 'struct ide_port_ops' (take 2) 2009-06-15 18:52:58 +02:00
ns87415.c ide: refactor tf_read() method 2009-04-08 14:13:03 +02:00
opti621.c ide: change ->set_pio_mode method parameters 2010-01-19 01:44:41 -08:00
palm_bk3710.c palm_bk3710: use ->pio_mode value to determine pair device speed 2010-01-19 01:52:34 -08:00
pdc202xx_new.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
pdc202xx_old.c pdc202xx_old: ignore "FIFO empty" bit in test_irq() method 2010-04-22 19:11:24 -07:00
piix.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
pmac.c powerpc/macio: Fix probing of macio devices by using the right of match table 2010-06-02 17:50:38 +10:00
q40ide.c ide: move ack_intr() method into 'struct ide_port_ops' (take 2) 2009-06-15 18:52:58 +02:00
qd65xx.c ide: change ->set_pio_mode method parameters 2010-01-19 01:44:41 -08:00
qd65xx.h ide: do not access ide_drive_t 'drive_data' field directly 2009-06-15 22:13:44 +02:00
rapide.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
rz1000.c rz1000: apply chipset quirks early (v2) 2008-12-29 20:27:33 +01:00
sc1200.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
scc_pata.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/ide-2.6 2010-03-02 23:57:59 -08:00
serverworks.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
setup-pci.c ide: re-implement ide_pci_init_one() on top of ide_pci_init_two() 2009-06-10 14:37:21 +02:00
sgiioc4.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
siimage.c siimage: use ->pio_mode value to determine pair device speed 2010-01-19 01:52:35 -08:00
sis5513.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
sl82c105.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
slc90e66.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
tc86c001.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
triflex.c ide: change ->set_dma_mode method parameters 2010-01-19 01:45:29 -08:00
trm290.c ide: turn selectproc() method into dev_select() method (take 5) 2009-03-31 20:15:32 +02:00
tx4938ide.c tx493xide: use ->pio_mode value to determine pair device speed 2010-01-19 01:52:35 -08:00
tx4939ide.c tx493xide: use ->pio_mode value to determine pair device speed 2010-01-19 01:52:35 -08:00
umc8672.c ide: change ->set_pio_mode method parameters 2010-01-19 01:44:41 -08:00
via82cxxx.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00