Skip to content

Commit

Permalink
drbd: Try to connec to peer only once per cycle
Browse files Browse the repository at this point in the history
Since now our listening socket is open all the time we will get
connection tries of the peer always in. No need to try it three
times.

This is valid when connecting to older peers as well, it simply
increases the probability that the new version DRBD will accept
a connection instead that it will establish one.

Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
  • Loading branch information
Philipp Reisner committed Nov 9, 2012
1 parent b666dbf commit 92f1495
Showing 1 changed file with 4 additions and 12 deletions.
16 changes: 4 additions & 12 deletions drivers/block/drbd/drbd_receiver.c
Original file line number Diff line number Diff line change
Expand Up @@ -881,7 +881,7 @@ static int conn_connect(struct drbd_tconn *tconn)
struct drbd_socket sock, msock;
struct drbd_conf *mdev;
struct net_conf *nc;
int vnr, timeout, try, h, ok;
int vnr, timeout, h, ok;
bool discard_my_data;
enum drbd_state_rv rv;
struct accept_wait_data ad = {
Expand Down Expand Up @@ -912,15 +912,7 @@ static int conn_connect(struct drbd_tconn *tconn)
do {
struct socket *s;

for (try = 0;;) {
/* 3 tries, this should take less than a second! */
s = drbd_try_connect(tconn);
if (s || ++try >= 3)
break;
/* give the other side time to call bind() & listen() */
schedule_timeout_interruptible(HZ / 10);
}

s = drbd_try_connect(tconn);
if (s) {
if (!sock.socket) {
sock.socket = s;
Expand Down Expand Up @@ -949,10 +941,10 @@ static int conn_connect(struct drbd_tconn *tconn)
retry:
s = drbd_wait_for_connect(tconn, &ad);
if (s) {
try = receive_first_packet(tconn, s);
int fp = receive_first_packet(tconn, s);
drbd_socket_okay(&sock.socket);
drbd_socket_okay(&msock.socket);
switch (try) {
switch (fp) {
case P_INITIAL_DATA:
if (sock.socket) {
conn_warn(tconn, "initial packet S crossed\n");
Expand Down

0 comments on commit 92f1495

Please sign in to comment.