Lars Ellenberg f3dfa40a67 drbd: fix race when forcefully disconnecting
If a forced disconnect hits a restarting receiver right after it passed
its final "if (C_DISCONNECTING)" test in drbdd_init(), but before it was
actually restarted by drbd_thread_setup, we could be left with a
connection stuck in C_DISCONNECTING, never reaching C_STANDALONE,
which would be necessary to take it down or reconfigure it.

Move the last cleanup into w_after_conn_state_ch(), and do an additional
state change request in conn_try_disconnect(), just in case.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
2012-11-08 16:53:00 +01:00
..
2011-08-05 22:16:42 -04:00
2011-07-26 16:49:47 -07:00
2011-07-28 01:30:07 -07:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-07-22 14:39:51 +09:30
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00
2011-07-25 21:00:19 -07:00
2011-08-03 16:44:21 +02:00
2011-07-26 16:49:47 -07:00
2011-08-07 15:51:45 -07:00
2011-07-26 16:49:47 -07:00
2011-07-26 16:49:47 -07:00