linux-stable/drivers/block/drbd
Lars Ellenberg 0b143d4382 drbd: fix potential deadlock during bitmap (re-)allocation
The former comment arguing that GFP_KERNEL was good enough was wrong: it
did not take resize into account at all, and assumed the only path
leading here was the normal attach on a still secondary device, so no
deadlock would be possible.

Both resize on a Primary, or attach on a diskless Primary,
could potentially deadlock.

drbd_bm_resize() is called while IO to the respective device is
suspended, so we must use GFP_NOIO to avoid potential deadlock.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2012-10-30 08:39:18 +01:00
..
drbd_actlog.c drbd: announce FLUSH/FUA capability to upper layers 2012-07-24 15:14:28 +02:00
drbd_bitmap.c drbd: fix potential deadlock during bitmap (re-)allocation 2012-10-30 08:39:18 +01:00
drbd_int.h drbd: Avoid NetworkFailure state during disconnect 2012-10-30 08:39:17 +01:00
drbd_main.c drbd: Avoid NetworkFailure state during disconnect 2012-10-30 08:39:17 +01:00
drbd_nl.c drbd: introduce stop-sector to online verify 2012-10-30 08:39:01 +01:00
drbd_proc.c drbd: introduce stop-sector to online verify 2012-10-30 08:39:01 +01:00
drbd_receiver.c drbd: Remove dead code 2012-10-30 08:39:17 +01:00
drbd_req.c drbd: Finish requests that completed while IO was frozen 2012-08-16 17:14:45 +02:00
drbd_req.h drbd: Immediately allow completion of IOs, that wait for IO completions on a failed disk 2012-05-09 10:16:04 +02:00
drbd_strings.c drbd: Rename enum drbd_state_ret_codes to enum drbd_state_rv 2011-03-10 11:36:18 +01:00
drbd_vli.h Fix common misspellings 2011-03-31 11:26:23 -03:00
drbd_worker.c drbd: panic on delayed completion of aborted requests 2012-10-30 08:39:17 +01:00
drbd_wrappers.h drbd: Get rid of unnecessary macros (2) 2011-03-10 11:36:15 +01: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