aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/block/drbd
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/block/drbd')
-rw-r--r--drivers/block/drbd/drbd_receiver.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c
index 855cadfe6146..1567e9bb9bde 100644
--- a/drivers/block/drbd/drbd_receiver.c
+++ b/drivers/block/drbd/drbd_receiver.c
@@ -881,7 +881,7 @@ static int conn_connect(struct drbd_tconn *tconn)
881 struct drbd_socket sock, msock; 881 struct drbd_socket sock, msock;
882 struct drbd_conf *mdev; 882 struct drbd_conf *mdev;
883 struct net_conf *nc; 883 struct net_conf *nc;
884 int vnr, timeout, try, h, ok; 884 int vnr, timeout, h, ok;
885 bool discard_my_data; 885 bool discard_my_data;
886 enum drbd_state_rv rv; 886 enum drbd_state_rv rv;
887 struct accept_wait_data ad = { 887 struct accept_wait_data ad = {
@@ -912,15 +912,7 @@ static int conn_connect(struct drbd_tconn *tconn)
912 do { 912 do {
913 struct socket *s; 913 struct socket *s;
914 914
915 for (try = 0;;) { 915 s = drbd_try_connect(tconn);
916 /* 3 tries, this should take less than a second! */
917 s = drbd_try_connect(tconn);
918 if (s || ++try >= 3)
919 break;
920 /* give the other side time to call bind() & listen() */
921 schedule_timeout_interruptible(HZ / 10);
922 }
923
924 if (s) { 916 if (s) {
925 if (!sock.socket) { 917 if (!sock.socket) {
926 sock.socket = s; 918 sock.socket = s;
@@ -949,10 +941,10 @@ static int conn_connect(struct drbd_tconn *tconn)
949retry: 941retry:
950 s = drbd_wait_for_connect(tconn, &ad); 942 s = drbd_wait_for_connect(tconn, &ad);
951 if (s) { 943 if (s) {
952 try = receive_first_packet(tconn, s); 944 int fp = receive_first_packet(tconn, s);
953 drbd_socket_okay(&sock.socket); 945 drbd_socket_okay(&sock.socket);
954 drbd_socket_okay(&msock.socket); 946 drbd_socket_okay(&msock.socket);
955 switch (try) { 947 switch (fp) {
956 case P_INITIAL_DATA: 948 case P_INITIAL_DATA:
957 if (sock.socket) { 949 if (sock.socket) {
958 conn_warn(tconn, "initial packet S crossed\n"); 950 conn_warn(tconn, "initial packet S crossed\n");