2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-11-20 16:46:23 +08:00
linux-next/drivers/block/drbd
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
..
drbd_actlog.c block: unify flags for struct bio and struct request 2010-08-07 18:20:39 +02:00
drbd_bitmap.c drbd: Fixed bitmap in case of online-grow without resync 2010-05-18 01:20:33 +02:00
drbd_int.h drbd: use drbd specific ratelimit instead of global printk_ratelimit 2010-06-01 11:12:27 +02:00
drbd_main.c block: push down BKL into .open and .release 2010-08-07 18:25:34 +02:00
drbd_nl.c drbd: Fixed a race between disk-attach and unexpected state changes 2010-06-14 12:19:41 +02:00
drbd_proc.c drbd: Fixes to the new delay_probes code 2010-05-18 01:28:08 +02:00
drbd_receiver.c block: unify flags for struct bio and struct request 2010-08-07 18:20:39 +02:00
drbd_req.c block: unify flags for struct bio and struct request 2010-08-07 18:20:39 +02:00
drbd_req.h drbd: fix hang on local read errors while disconnected 2010-06-01 11:12:27 +02:00
drbd_strings.c drbd: don't start a resync without access to up-to-date Data 2010-05-18 01:08:18 +02:00
drbd_vli.h The DRBD driver 2009-10-01 21:17:49 +02:00
drbd_worker.c drbd: Reduce verbosity 2010-06-01 11:12:27 +02:00
drbd_wrappers.h drbd: Allow drbd_epoch_entries to use multiple bios. 2010-05-18 02:01:23 +02:00
Kconfig drbd: Kconfig fix 2009-12-29 17:38:28 +01:00
Makefile drbd: remove tracing bits 2009-10-01 21:17:58 +02:00