linux-stable/drivers/block/drbd
Philipp Reisner b874d231e1 drbd: Fix an connection drop issue after enabling allow-two-primaries
Since drbd-8.4.0 it is possible to change the allow-two-primaries
network option while the connection is established.

The sequence code used to partially order packets from the
data socket with packets from the meta-data socket, still assued
that the allow-two-primaries option is constant while the
connection is established.

I.e.
On a node that has the RESOLVE_CONFLICTS bits set, after enabling
allow-two-primaries, when receiving the next data packet it timed out
while waiting for the necessary packets on the data socket to arrive
(wait_for_and_update_peer_seq() function).

Fixed that by always tracking the sequence number, but only waiting
for it if allow-two-primaries is set.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2013-11-08 09:10:28 -07:00
..
drbd_actlog.c drbd: Allow online change of al-stripes and al-stripe-size 2013-06-28 16:04:36 +02:00
drbd_bitmap.c treewide: Add __GFP_NOWARN to k.alloc calls with v.alloc fallbacks 2013-08-20 13:06:40 +02:00
drbd_int.h drbd: Allow online change of al-stripes and al-stripe-size 2013-06-28 16:04:36 +02:00
drbd_interval.c Merge branch 'drbd-8.4_ed6' into for-3.8-drivers-drbd-8.4_ed6 2012-11-09 14:20:23 +01:00
drbd_interval.h drbd: Iterate over all overlapping intervals in a tree 2011-10-14 16:47:37 +02:00
drbd_main.c drbd: fix NULL pointer deref in module init error path 2013-11-08 09:10:28 -07:00
drbd_nl.c drbd: Allow online change of al-stripes and al-stripe-size 2013-06-28 16:04:36 +02:00
drbd_nla.c drbd: Split off netlink mandatory attribute handling into separate file 2012-11-08 16:57:45 +01:00
drbd_nla.h drbd: Split off netlink mandatory attribute handling into separate file 2012-11-08 16:57:45 +01:00
drbd_proc.c Merge branch 'for-3.10/drivers' of git://git.kernel.dk/linux-block 2013-05-08 11:51:05 -07:00
drbd_receiver.c drbd: Fix an connection drop issue after enabling allow-two-primaries 2013-11-08 09:10:28 -07:00
drbd_req.c drbd: fix drbd epoch write count for ahead/behind mode 2013-03-28 10:10:25 -06:00
drbd_req.h drbd: only fail empty flushes if no good data is reachable 2013-03-28 10:10:25 -06:00
drbd_state.c drbd: Ignore the exit code of a fence-peer handler if it returns too late 2013-06-28 16:04:36 +02:00
drbd_state.h drbd: Improved logging of state changes 2012-11-08 16:45:06 +01:00
drbd_strings.c drbd: Fix disconnect to keep the peer disk state if connection breaks during operation 2013-03-28 10:10:25 -06:00
drbd_vli.h Fix common misspellings 2011-03-31 11:26:23 -03:00
drbd_worker.c drbd: validate resync_after dependency on attach already 2013-03-28 10:10:25 -06:00
drbd_wrappers.h drbd: Split off netlink mandatory attribute handling into separate file 2012-11-08 16:57:45 +01:00
Kconfig drbd: update Kconfig to match current dependencies 2012-12-06 13:08:29 +01:00
Makefile drbd: Split off netlink mandatory attribute handling into separate file 2012-11-08 16:57:45 +01:00