linux/drivers/block/drbd
Philipp Reisner 84dfb9f564 drbd: Fixed a deadlock, probably only affected UP machines
After disconnect (most likely mdev->net_cnt == 0) and we are
still in an unstable state (!drbd_state_is_stable()). When we
get an IO request in drbd_get_max_buffers() (called from
__inc_ap_bio_cond(), called from inc_ap_bio()) we wake up
misc_wait. Misc_wait is also used in inc_ap_bio() to sleep
until the outcome of __inc_ap_bio_cond() changes. => Busy loop!

Solution: Have a dedicated wait queue for get_net_conf() and
put_net_conf().

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
2010-10-14 15:04:46 +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: Fixed a deadlock, probably only affected UP machines 2010-10-14 15:04:46 +02:00
drbd_main.c drbd: Fixed a deadlock, probably only affected UP machines 2010-10-14 15:04:46 +02:00
drbd_nl.c drbd: Ensure that the peer was not rebootet in the meantime before resending TL 2010-10-14 15:01:37 +02:00
drbd_proc.c drbd: revert "delay probes", feature is being re-implemented differently 2010-08-07 18:53:57 +02:00
drbd_receiver.c drbd: Fixed a deadlock, probably only affected UP machines 2010-10-14 15:04:46 +02:00
drbd_req.c drbd: Ensure that the peer was not rebootet in the meantime before resending TL 2010-10-14 15:01:37 +02:00
drbd_req.h drbd: Finished the "on-no-data-accessible suspend-io;" functionality 2010-10-14 14:52:53 +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
drbd_worker.c drbd: Finished the "on-no-data-accessible suspend-io;" functionality 2010-10-14 14:52:53 +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