aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/dlm/lowcomms.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c
index 1d4e644c6589..2bedb0ac5f92 100644
--- a/fs/dlm/lowcomms.c
+++ b/fs/dlm/lowcomms.c
@@ -926,6 +926,7 @@ static void tcp_connect_to_sock(struct connection *con)
926 struct sockaddr_storage saddr, src_addr; 926 struct sockaddr_storage saddr, src_addr;
927 int addr_len; 927 int addr_len;
928 struct socket *sock = NULL; 928 struct socket *sock = NULL;
929 int one = 1;
929 930
930 if (con->nodeid == 0) { 931 if (con->nodeid == 0) {
931 log_print("attempt to connect sock 0 foiled"); 932 log_print("attempt to connect sock 0 foiled");
@@ -971,6 +972,11 @@ static void tcp_connect_to_sock(struct connection *con)
971 make_sockaddr(&saddr, dlm_config.ci_tcp_port, &addr_len); 972 make_sockaddr(&saddr, dlm_config.ci_tcp_port, &addr_len);
972 973
973 log_print("connecting to %d", con->nodeid); 974 log_print("connecting to %d", con->nodeid);
975
976 /* Turn off Nagle's algorithm */
977 kernel_setsockopt(sock, SOL_TCP, TCP_NODELAY, (char *)&one,
978 sizeof(one));
979
974 result = 980 result =
975 sock->ops->connect(sock, (struct sockaddr *)&saddr, addr_len, 981 sock->ops->connect(sock, (struct sockaddr *)&saddr, addr_len,
976 O_NONBLOCK); 982 O_NONBLOCK);
@@ -1022,6 +1028,10 @@ static struct socket *tcp_create_listen_sock(struct connection *con,
1022 goto create_out; 1028 goto create_out;
1023 } 1029 }
1024 1030
1031 /* Turn off Nagle's algorithm */
1032 kernel_setsockopt(sock, SOL_TCP, TCP_NODELAY, (char *)&one,
1033 sizeof(one));
1034
1025 result = kernel_setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, 1035 result = kernel_setsockopt(sock, SOL_SOCKET, SO_REUSEADDR,
1026 (char *)&one, sizeof(one)); 1036 (char *)&one, sizeof(one));
1027 1037