summaryrefslogtreecommitdiffstats
path: root/drivers/block/drbd/drbd_main.c
diff options
context:
space:
mode:
authorPhilipp Reisner <philipp.reisner@linbit.com>2014-04-28 18:43:20 +0200
committerJens Axboe <axboe@fb.com>2014-04-30 13:46:54 -0600
commit88ea685d33c75932fe90ed0b5d2cf68845462876 (patch)
treec268da259166a94fc22e1738e14b33133d778948 /drivers/block/drbd/drbd_main.c
parente82998743385ca861b9ec919eb2ba8177ce72180 (diff)
downloadop-kernel-dev-88ea685d33c75932fe90ed0b5d2cf68845462876.zip
op-kernel-dev-88ea685d33c75932fe90ed0b5d2cf68845462876.tar.gz
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>
Diffstat (limited to 'drivers/block/drbd/drbd_main.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud