drbd: Fixed compat issue with disconnecting 8.4 from a primary 8.3
authorPhilipp Reisner <philipp.reisner@linbit.com>
Fri, 20 Jan 2012 12:52:27 +0000 (13:52 +0100)
committerPhilipp Reisner <philipp.reisner@linbit.com>
Thu, 8 Nov 2012 15:58:14 +0000 (16:58 +0100)
commit4d0fc3fdc3144b974888bb06efad69a0eb85719a
treee61262b8828ee4a6a7450908ab2470044ae5f9cf
parent1a3cde440615b0be304b3f92486c5c69ede4666b
drbd: Fixed compat issue with disconnecting 8.4 from a primary 8.3

For compatibility reasons 8.4 has to send P_STATE_CHG_REQ (instead
of P_CONN_ST_CHG_REQ) when disconnecting.

In the receiving code path we missed to convert the old
answer (P_STATE_CHG_REPLY) back to 8.4 logic. Therefore
the CL_ST_CHG_SUCCESS or CL_ST_CHG_FAIL bit in the flags word
of mdev got set, while the state code was waiting for
the CONN_WD_ST_CHG_OKAY or CONN_WD_ST_CHG_FAIL bits in tconn.

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