summaryrefslogtreecommitdiff
path: root/net/rds/loop.c
diff options
context:
space:
mode:
authorSowmini Varadhan <sowmini.varadhan@oracle.com>2016-07-01 02:11:13 +0300
committerDavid S. Miller <davem@davemloft.net>2016-07-01 23:45:17 +0300
commitafb4164d91c7486a1d4ab098a1b88e27b5e25772 (patch)
tree9d1b76c3268d9c491fc9280237b62f7fb7a49892 /net/rds/loop.c
parent02105b2ccdd6344146e0296172a9e0f17ff624ef (diff)
downloadlinux-afb4164d91c7486a1d4ab098a1b88e27b5e25772.tar.xz
RDS: TCP: Refactor connection destruction to handle multiple paths
A single rds_connection may have multiple rds_conn_paths that have to be carefully and correctly destroyed, for both rmmod and netns-delete cases. For both cases, we extract a single rds_tcp_connection for each conn into a temporary list, and then invoke rds_conn_destroy() which iteratively dismantles every path in the rds_connection. For the netns deletion case, we additionally have to make sure that we do not leave a socket in TIME_WAIT state, as this will hold up the netns deletion. Thus we call rds_tcp_conn_paths_destroy() to reset state quickly. Acked-by: Santosh Shilimkar <santosh.shilimkar@oracle.com> Signed-off-by: Sowmini Varadhan <sowmini.varadhan@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/rds/loop.c')
0 files changed, 0 insertions, 0 deletions