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

Sowmini Varadhan sowmini.varadhan at oracle.com
Wed Sep 30 09:09:08 PDT 2015


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.



More information about the rds-devel mailing list