On (09/30/15 08:50), santosh shilimkar wrote:Thanks for clarification.
rs_tcp = (struct rds_tcp_connection *)conn->c_transport_data;Any reason you dropped the WARN_ON. Note that till we got commit
- 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;
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.