linux/arch/um/drivers
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
..
chan_kern.c uml: remove a useless function 2008-04-28 08:58:28 -07:00
chan_user.c uml: fix build when SLOB is enabled 2008-05-13 08:02:22 -07:00
cow_sys.h uml: fix build when SLOB is enabled 2008-05-13 08:02:22 -07:00
cow_user.c uml: arch/um/drivers formatting 2007-10-16 09:43:09 -07:00
cow.h [PATCH] uml: avoid warnings for diffent names for an unsigned quadword 2006-04-11 06:18:37 -07:00
daemon_kern.c um: Kill directly reference of netdev->priv 2008-12-04 15:07:33 -08:00
daemon_user.c uml: fix build when SLOB is enabled 2008-05-13 08:02:22 -07:00
daemon.h uml: network formatting 2007-10-16 09:43:08 -07:00
fd.c uml: fix build when SLOB is enabled 2008-05-13 08:02:22 -07:00
harddog_kern.c uml: Pushdown the bkl from harddog_kern ioctl 2010-05-22 17:44:21 +02:00
harddog_user.c uml: fix helper_wait calls in watchdog 2008-02-23 17:12:15 -08:00
hostaudio_kern.c uml: Convert to unlocked_ioctls to remove implicit BKL 2010-05-17 05:27:42 +02:00
line.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2010-05-20 09:20:59 -07:00
Makefile x86, um: get rid of arch/um/os symlink 2008-10-22 22:55:22 -07:00
mcast_kern.c um: Kill directly reference of netdev->priv 2008-12-04 15:07:33 -08:00
mcast_user.c uml: fix build when SLOB is enabled 2008-05-13 08:02:22 -07:00
mcast.h uml: network formatting 2007-10-16 09:43:08 -07:00
mconsole_kern.c Switch may_open() and break_lease() to passing O_... 2010-03-03 13:00:21 -05:00
mconsole_user.c uml: make three functions static 2008-04-28 08:58:28 -07:00
mmapper_kern.c um/mmapper: Remove BKL usage 2010-05-17 05:27:03 +02:00
net_kern.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
net_user.c uml: fix build when SLOB is enabled 2008-05-13 08:02:22 -07:00
null.c spelling fixes: arch/um/ 2007-10-20 01:23:03 +02:00
pcap_kern.c um: Kill directly reference of netdev->priv 2008-12-04 15:07:33 -08:00
pcap_user.c missed kmalloc() in pcap_user.c 2008-05-21 16:55:57 -07:00
pcap_user.h uml: remove useless comments 2009-04-01 08:59:17 -07:00
port_kern.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
port_user.c uml: fix build when SLOB is enabled 2008-05-13 08:02:22 -07:00
port.h uml: remove useless comments 2009-04-01 08:59:17 -07:00
pty.c uml: fix build when SLOB is enabled 2008-05-13 08:02:22 -07:00
random.c um: Remove BKL from random 2009-10-14 15:35:51 +02:00
slip_common.c [PATCH] uml: slirp and slip driver cleanups and fixes 2005-06-13 20:58:43 -07:00
slip_common.h [PATCH] uml: fix hugest stack users 2006-02-01 08:53:22 -08:00
slip_kern.c UML: Fix some apparent bitrot 2009-06-25 11:22:13 -07:00
slip_user.c uml: fix build when SLOB is enabled 2008-05-13 08:02:22 -07:00
slip.h [PATCH] uml: const more data 2006-09-27 08:26:15 -07:00
slirp_kern.c UML: Fix some apparent bitrot 2009-06-25 11:22:13 -07:00
slirp_user.c uml: tidy helper code 2008-02-05 09:44:30 -08:00
slirp.h [PATCH] uml: const more data 2006-09-27 08:26:15 -07:00
ssl.c uml: tidy kern_util.h 2008-02-05 09:44:26 -08:00
ssl.h uml: remove useless comments 2009-04-01 08:59:17 -07:00
stderr_console.c spelling fixes: arch/um/ 2007-10-20 01:23:03 +02:00
stdio_console.c uml: make several things static 2008-04-28 08:58:28 -07:00
stdio_console.h uml: remove useless comments 2009-04-01 08:59:17 -07:00
tty.c uml: fix build when SLOB is enabled 2008-05-13 08:02:22 -07:00
ubd_kern.c block: push down BKL into .open and .release 2010-08-07 18:25:34 +02:00
ubd_user.c uml: tidy kern_util.h 2008-02-05 09:44:26 -08:00
vde_kern.c um: Kill directly reference of netdev->priv 2008-12-04 15:07:33 -08:00
vde_user.c uml: fix vde network backend in user mode linux 2009-02-20 17:57:48 -08:00
vde.h uml: add VDE networking support 2007-10-16 09:43:05 -07:00
xterm_kern.c uml: xterm driver tidying 2007-07-16 09:05:38 -07:00
xterm.c uml: fix build when SLOB is enabled 2008-05-13 08:02:22 -07:00
xterm.h uml: remove useless comments 2009-04-01 08:59:17 -07:00