linux/net/rds
Zach Brown ffcec0e110 RDS: don't call rds_conn_shutdown() from rds_conn_destroy()
rds_conn_shutdown() can return before the connection is shut down when
it encounters an existing state that it doesn't understand.  This lets
rds_conn_destroy() then start tearing down the conn from under paths
that are still using it.

It's more reliable the shutdown work and wait for krdsd to complete the
shutdown callback.  This stopped some hangs I was seeing where krdsd was
trying to shut down a freed conn.

Signed-off-by: Zach Brown <zach.brown@oracle.com>
2010-09-08 18:16:48 -07:00
..
af_rds.c RDS: have sockets get transport module references 2010-09-08 18:16:47 -07:00
bind.c rds: Use RCU for the bind lookup searches 2010-09-08 18:15:08 -07:00
cong.c RDS: Bypass workqueue when queueing cong updates 2010-09-08 18:12:16 -07:00
connection.c RDS: don't call rds_conn_shutdown() from rds_conn_destroy() 2010-09-08 18:16:48 -07:00
ib_cm.c RDS/IB: print IB event strings as well as their number 2010-09-08 18:16:43 -07:00
ib_rdma.c RDS/IB: protect the list of IB devices 2010-09-08 18:16:44 -07:00
ib_recv.c RDS: properly use sg_init_table 2010-09-08 18:16:41 -07:00
ib_ring.c
ib_send.c RDS/IB: track signaled sends 2010-09-08 18:16:40 -07:00
ib_stats.c RDS: Move atomic stats from general to ib-specific area 2010-09-08 18:12:20 -07:00
ib_sysctl.c RDS: remove __init and __exit annotation 2010-09-08 18:16:39 -07:00
ib.c RDS/IB: protect the list of IB devices 2010-09-08 18:16:44 -07:00
ib.h RDS/IB: protect the list of IB devices 2010-09-08 18:16:44 -07:00
info.c RDS: cleanup: remove "== NULL"s and "!= NULL"s in ptr comparisons 2010-09-08 18:11:32 -07:00
info.h
iw_cm.c RDS: cleanup: remove "== NULL"s and "!= NULL"s in ptr comparisons 2010-09-08 18:11:32 -07:00
iw_rdma.c RDS: fold rdma.h into rds.h 2010-09-08 18:11:37 -07:00
iw_recv.c RDS: remove __init and __exit annotation 2010-09-08 18:16:39 -07:00
iw_ring.c
iw_send.c RDS: Rename data op members prefix from m_ to op_ 2010-09-08 18:11:59 -07:00
iw_stats.c
iw_sysctl.c RDS: remove __init and __exit annotation 2010-09-08 18:16:39 -07:00
iw.c RDS: remove __init and __exit annotation 2010-09-08 18:16:39 -07:00
iw.h RDS: remove __init and __exit annotation 2010-09-08 18:16:39 -07:00
Kconfig
loop.c RDS: Stop supporting old cong map sending method 2010-09-08 18:12:10 -07:00
loop.h
Makefile
message.c rds: don't let RDS shutdown a connection while senders are present 2010-09-08 18:15:09 -07:00
page.c RDS: Use page_remainder_alloc() for recv bufs 2010-09-08 18:15:20 -07:00
rdma_transport.c RDS: remove __init and __exit annotation 2010-09-08 18:16:39 -07:00
rdma_transport.h
rdma.c RDS: Add flag for silent ops. Do atomic op before RDMA 2010-09-08 18:12:06 -07:00
rds.h RDS: have sockets get transport module references 2010-09-08 18:16:47 -07:00
recv.c RDS: Whitespace 2010-09-08 18:11:44 -07:00
send.c rds: fix rds_send_xmit() serialization 2010-09-08 18:15:27 -07:00
stats.c RDS: remove __init and __exit annotation 2010-09-08 18:16:39 -07:00
sysctl.c RDS: remove __init and __exit annotation 2010-09-08 18:16:39 -07:00
tcp_connect.c RDS: cleanup: remove "== NULL"s and "!= NULL"s in ptr comparisons 2010-09-08 18:11:32 -07:00
tcp_listen.c RDS: remove __init and __exit annotation 2010-09-08 18:16:39 -07:00
tcp_recv.c RDS: remove __init and __exit annotation 2010-09-08 18:16:39 -07:00
tcp_send.c RDS: Stop supporting old cong map sending method 2010-09-08 18:12:10 -07:00
tcp_stats.c
tcp.c RDS: remove __init and __exit annotation 2010-09-08 18:16:39 -07:00
tcp.h RDS: remove __init and __exit annotation 2010-09-08 18:16:39 -07:00
threads.c RDS: remove __init and __exit annotation 2010-09-08 18:16:39 -07:00
transport.c RDS: have sockets get transport module references 2010-09-08 18:16:47 -07:00
xlist.h RDS: Remove unused XLIST_PTR_TAIL and xlist_protect() 2010-09-08 18:16:06 -07:00