Commit 5311f707 authored by Arnd Bergmann's avatar Arnd Bergmann
Browse files

dlm: use SO_SNDTIMEO_NEW instead of SO_SNDTIMEO_OLD



Eliminate one more use of 'struct timeval' from the kernel so
we can eventually remove the definition as well.

The kernel supports the new format with a 64-bit time_t version
of timeval here, so use that instead of the old timeval.

Acked-by: default avatarDeepa Dinamani <deepa.kernel@gmail.com>
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent 74b5cab6
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -1035,7 +1035,7 @@ static void sctp_connect_to_sock(struct connection *con)
	int result;
	int addr_len;
	struct socket *sock;
	struct timeval tv = { .tv_sec = 5, .tv_usec = 0 };
	struct __kernel_sock_timeval tv = { .tv_sec = 5, .tv_usec = 0 };

	if (con->nodeid == 0) {
		log_print("attempt to connect sock 0 foiled");
@@ -1087,12 +1087,12 @@ static void sctp_connect_to_sock(struct connection *con)
	 * since O_NONBLOCK argument in connect() function does not work here,
	 * then, we should restore the default value of this attribute.
	 */
	kernel_setsockopt(sock, SOL_SOCKET, SO_SNDTIMEO_OLD, (char *)&tv,
	kernel_setsockopt(sock, SOL_SOCKET, SO_SNDTIMEO_NEW, (char *)&tv,
			  sizeof(tv));
	result = sock->ops->connect(sock, (struct sockaddr *)&daddr, addr_len,
				   0);
	memset(&tv, 0, sizeof(tv));
	kernel_setsockopt(sock, SOL_SOCKET, SO_SNDTIMEO_OLD, (char *)&tv,
	kernel_setsockopt(sock, SOL_SOCKET, SO_SNDTIMEO_NEW, (char *)&tv,
			  sizeof(tv));

	if (result == -EINPROGRESS)