linux/drivers/block/drbd
Lars Ellenberg bc891c9ae3 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>
2012-11-09 14:11:39 +01:00
..
drbd_actlog.c
drbd_bitmap.c drbd: fix potential deadlock during bitmap (re-)allocation 2012-11-09 14:11:39 +01:00
drbd_int.h drbd: Call drbd_md_sync() explicitly after a state change on the connection 2012-11-09 14:11:08 +01:00
drbd_interval.c
drbd_interval.h
drbd_main.c drbd: Call drbd_md_sync() explicitly after a state change on the connection 2012-11-09 14:11:08 +01:00
drbd_nl.c drbd: Call drbd_md_sync() explicitly after a state change on the connection 2012-11-09 14:11:08 +01:00
drbd_nla.c
drbd_nla.h
drbd_proc.c
drbd_receiver.c drbd: Remove duplicate code 2012-11-09 14:11:38 +01:00
drbd_req.c drbd: differentiate early and later "postponing" of requests 2012-11-09 14:11:37 +01:00
drbd_req.h drbd: disambiguation, s/P_DISCARD_WRITE/P_SUPERSEDED/ 2012-11-09 14:05:49 +01:00
drbd_state.c drbd: Fix comparison of is_valid_transition()'s return code 2012-11-09 14:11:38 +01:00
drbd_state.h
drbd_strings.c
drbd_vli.h
drbd_worker.c drbd: use list_move_tail instead of list_del/list_add_tail 2012-11-09 14:11:39 +01:00
drbd_wrappers.h
Kconfig
Makefile