Philipp Reisner 88ea685d33 drbd: Do not BUG() when connection breaks in a special way
When a 'cluster wide' disconnect executes, the result comes back
from the peer, and immediately after that the connection breaks
then _conn_rq_cond() reported back SS_CW_SUCCESS.
Therefore _conn_request_state() calls conn_set_state(), which
has a BUG() in it.
The BUG() is hit because conn_is_valid_transition() does not like
the transaction. Which goes back to is_valid_soft_transition()
returning SS_OUTDATE_WO_CONN.

This fix is to consider an error reported by is_valid_soft_transition()
even when the peer agreed to the transaction.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
2014-04-30 13:46:54 -06:00
..
2014-03-04 07:55:47 -08:00
2014-04-07 16:36:02 -07:00
2014-03-13 14:56:38 -06:00
2014-01-30 16:56:55 -08:00
2013-06-29 12:46:45 +04:00
2014-01-30 16:56:55 -08:00
2014-04-01 23:19:10 -04:00
2014-01-03 10:05:34 +01:00
2013-11-08 09:10:30 -07:00