• P
    drbd: Fix an connection drop issue after enabling allow-two-primaries · b874d231
    Philipp Reisner 提交于
    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: NPhilipp Reisner <philipp.reisner@linbit.com>
    Signed-off-by: NLars Ellenberg <lars.ellenberg@linbit.com>
    Signed-off-by: NJens Axboe <axboe@kernel.dk>
    b874d231
drbd_receiver.c 145.8 KB