linux/drivers/staging
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
..
adis16255 Staging: adis16255: add proper section markings to hotplug funcs 2010-06-04 13:38:57 -07:00
asus_oled Staging: asus_oled: asus_oled.c: Checkpatch cleanup 2010-05-11 11:35:30 -07:00
batman-adv Staging: batman-adv: fix function prototype 2010-06-30 08:18:14 -07:00
comedi Staging: comedi: fix read past end of array in cb_pcidda_attach() 2010-06-30 08:18:15 -07:00
crystalhd Staging: crystalhd: Remove typedefs from driver 2010-05-18 14:53:17 -07:00
cx25821 Merge staging-next tree into Linus's latest version 2010-05-21 12:48:55 -07:00
cxt1e1 staging: cxt1e1: fix semaphore build breakage 2010-05-11 14:15:34 -07:00
dream i2c: Remove all i2c_set_clientdata(client, NULL) in drivers 2010-06-03 11:33:58 +02:00
dt3155 Staging: Eliminate a NULL pointer dereference 2010-06-04 13:38:57 -07:00
dt3155v4l Staging: dt3155v4l: remove private memory allocator 2010-05-18 14:53:17 -07:00
echo staging: trivial: fix typo "seperate" 2010-05-14 13:16:10 -07:00
et131x Merge staging-next tree into Linus's latest version 2010-05-21 12:48:55 -07:00
frontier staging: frontier: switch semaphores to mutexes 2010-05-11 11:35:33 -07:00
go7007 i2c: Remove all i2c_set_clientdata(client, NULL) in drivers 2010-06-03 11:33:58 +02:00
hv block: push down BKL into .open and .release 2010-08-07 18:25:34 +02:00
iio staging: Use GFP_ATOMIC when a lock is held 2010-06-04 13:38:57 -07:00
line6 Staging: Use kmemdup 2010-05-17 16:31:15 -07:00
memrar staging: memrar depends on RAR_REGISTER 2010-05-11 15:56:19 -07:00
mrst-touchscreen Staging: mrst-touchscreen: fix dereferencing free memory 2010-06-30 08:18:14 -07:00
msm Staging: add MSM framebuffer driver 2010-06-04 13:38:54 -07:00
octeon STAGING: octeon-ethernet: Use proper phy addresses for Movidis hardware. 2010-04-30 20:52:53 +01:00
otus Staging: Use kcalloc or kzalloc 2010-05-14 14:02:56 -07:00
panel Staging: Use kcalloc or kzalloc 2010-05-14 14:02:56 -07:00
phison Staging: phison: depends on ATA_BMDMA 2010-06-04 13:38:57 -07:00
pohmelfs Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6 2010-05-30 09:11:11 -07:00
quatech_usb2 Staging: quatech_usb2: fix coding style issues 2010-05-11 11:35:54 -07:00
ramzswap Staging: ramzswap: Handler for swap slot free callback 2010-05-18 15:07:52 -07:00
rar_register Staging: rar_register: depends on PCI 2010-05-11 11:36:19 -07:00
rt2860 Staging: rt2870: add device id for Zyxel NWD-270N 2010-06-30 08:18:15 -07:00
rt2870 Staging: rt2870: Allow building on ARM 2010-05-11 11:35:55 -07:00
rt3070
rtl8187se Staging: rtl8187se: Fix compile warnings in 2.6.35-rc2 2010-06-30 08:18:15 -07:00
rtl8192e Staging: Use kmemdup 2010-05-17 16:31:15 -07:00
rtl8192su Staging: rtl8192s_usb: Remove duplicate device ID 2010-06-30 08:18:15 -07:00
rtl8192u Staging: rtl8192u_usb: Add LG device ID 043e:7a01 2010-06-30 08:18:15 -07:00
samsung-laptop backlight: Allow properties to be passed at registration 2010-03-16 19:47:54 +00:00
sep Staging: sep: return -EFAULT on copy_to_user errors 2010-06-04 13:38:58 -07:00
serqt_usb2 Staging: serqt_usb2: fix space coding style issue in serqt_usb2.c 2010-05-11 11:35:54 -07:00
slicoss net: convert multicast list to list_head 2010-04-03 14:22:15 -07:00
sm7xx Staging: Use kcalloc or kzalloc 2010-05-14 14:02:56 -07:00
ti-st staging: ti-st: depends on RFKILL 2010-05-11 14:15:34 -07:00
tm6000 v4l-dvb: update gfp/slab.h includes 2010-06-28 10:19:18 +10:00
udlfb Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6 2010-05-21 15:26:46 -07:00
usbip staging: usbip: usbip_common: kill rx thread on tx thread creation error. 2010-06-30 08:18:14 -07:00
vme staging: Use GFP_ATOMIC when a lock is held 2010-06-04 13:38:57 -07:00
vt6655 Merge staging-next tree into Linus's latest version 2010-05-21 12:48:55 -07:00
vt6656 Merge staging-next tree into Linus's latest version 2010-05-21 12:48:55 -07:00
winbond Merge staging-next tree into Linus's latest version 2010-05-21 12:48:55 -07:00
wlags49_h2 Staging: wlags49_h2: Fix build error when CONFIG_SYSFS is not set 2010-06-30 08:18:15 -07:00
wlags49_h25 Staging: wlags49_h2, wlags49_h25: fixed Kconfig dependencies 2010-06-04 13:38:57 -07:00
wlan-ng Staging: wlan-ng prism2usb: add suspend/resume 2010-05-17 16:33:28 -07:00
xgifb staging: Add framebuffer driver for XGI chipsets 2010-06-04 13:38:51 -07:00
Kconfig Staging: add MSM framebuffer driver 2010-06-04 13:38:54 -07:00
Makefile Staging: add MSM framebuffer driver 2010-06-04 13:38:54 -07:00
staging.c