diff options
author | Lars Ellenberg | 2010-05-27 09:45:45 +0200 |
---|---|---|
committer | Jens Axboe | 2010-06-01 11:12:27 +0200 |
commit | d255e5ff5fc6cc6c60dd014d1261448a7bbc8134 (patch) | |
tree | af933be5ddb81b1e47be2f91ff558c5c792f2f0f /drivers/block/drbd/drbd_main.c | |
parent | drbd: Removed the now empty w_io_error() function (diff) | |
download | kernel-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