summaryrefslogtreecommitdiffstats
path: root/drivers/block/drbd/drbd_main.c
diff options
context:
space:
mode:
authorLars Ellenberg2010-05-27 09:45:45 +0200
committerJens Axboe2010-06-01 11:12:27 +0200
commitd255e5ff5fc6cc6c60dd014d1261448a7bbc8134 (patch)
treeaf933be5ddb81b1e47be2f91ff558c5c792f2f0f /drivers/block/drbd/drbd_main.c
parentdrbd: Removed the now empty w_io_error() function (diff)
downloadkernel-qcow2-linux-d255e5ff5fc6cc6c60dd014d1261448a7bbc8134.tar.gz
kernel-qcow2-linux-d255e5ff5fc6cc6c60dd014d1261448a7bbc8134.tar.xz
kernel-qcow2-linux-d255e5ff5fc6cc6c60dd014d1261448a7bbc8134.zip
drbd: fix hang on local read errors while disconnected
"canceled" w_read_retry_remote never completed, if they have been canceled after drbd_disconnect connection teardown cleanup has already run (or we are currently not connected anyways). Fixed by not queueing a remote retry if we already know it won't work (pdsk not uptodate), and cleanup ourselves on "cancel", in case we hit a race with drbd_disconnect. Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com> Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
Diffstat (limited to 'drivers/block/drbd/drbd_main.c')
0 files changed, 0 insertions, 0 deletions