]> git.karo-electronics.de Git - linux-beck.git/commit
drbd: fix various disconnecting races
authorLars Ellenberg <lars.ellenberg@linbit.com>
Wed, 27 Apr 2011 08:25:28 +0000 (10:25 +0200)
committerPhilipp Reisner <philipp.reisner@linbit.com>
Thu, 8 Nov 2012 15:49:08 +0000 (16:49 +0100)
commitd9cc6e231897a9ab1a94e6cfe12d71bfec0b7a81
treef0ab01f5319972d672160f5ba1e1233f8bafbeb1
parent5ee743e92d3b170a67b58c0c6ea169300983f58e
drbd: fix various disconnecting races

If an admin requests disconnect at a time when the state handling
already disconnects/reconnects, there have been some races.

Make sure to always really stop the network threads before
returning success for disconnect. Do not pretend successfull
forced disconnect, if the state handling returned an error.

Return success from drbd_adm_down() only after all threads are finished.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
drivers/block/drbd/drbd_nl.c
drivers/block/drbd/drbd_receiver.c
drivers/block/drbd/drbd_state.c