Re: [PATCH net-next 1/3] net/rds: Use a single TCP socket for both send and receive.

From: santosh shilimkar
Date: Wed Sep 30 2015 - 12:14:04 EST


On 9/30/2015 9:09 AM, Sowmini Varadhan wrote:
On (09/30/15 08:50), santosh shilimkar wrote:
rs_tcp = (struct rds_tcp_connection *)conn->c_transport_data;
- WARN_ON(!rs_tcp || rs_tcp->t_sock);
+ if (rs_tcp->t_sock && inet->inet_saddr < inet->inet_daddr) {
+ struct sock *nsk = new_sock->sk;

Any reason you dropped the WARN_ON. Note that till we got commit
74e98eb0 (" RDS: verify the underlying transport exists before creating
a connection") merged, we had an issue. That guards it now.

That was done deliberately. Now that we have only one tcp socket,
we can run into an rds_tcp_connection for an outgoing connection
that we initiated, thus rs_tcp->t_sock can be non-null - which is
why a new check is added in the newly added line in the patch.

Thanks for clarification.

Regards,
Santosh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/