1. 24 5月, 2011 1 次提交
    • L
      drbd: fix disconnect/reconnect loop, if ping-timeout == ping-int · f36af18c
      Lars Ellenberg 提交于
      If there is no replication traffic within the idle timeout
      (ping-int seconds), DRBD will send a P_PING,
      and adjust the timeout to ping-timeout.
      
      If there is no P_PING_ACK received within this ping-timeout,
      DRBD finally drops the connection, and tries to re-establish it.
      
      To decide which timeout was active, we compared the current timeout
      with the ping-timeout, and dropped the connection, if that was the case.
      
      By default, ping-int is 10 seconds, ping-timeout is 500 ms.
      
      Unfortunately, if you configure ping-timeout to be the same as ping-int,
      expiry of the idle-timeout had been mistaken for a missing ping ack,
      and caused an immediate reconnection attempt.
      
      Fix:
      Allow both timeouts to be equal, use a local variable
      to store which timeout is active.
      Signed-off-by: NPhilipp Reisner <philipp.reisner@linbit.com>
      Signed-off-by: NLars Ellenberg <lars.ellenberg@linbit.com>
      f36af18c
  2. 31 3月, 2011 1 次提交
  3. 10 3月, 2011 38 次提交