RDS: don't call rds_conn_shutdown() from rds_conn_destroy()
authorZach Brown <zach.brown@oracle.com>
Fri, 23 Jul 2010 17:36:58 +0000 (10:36 -0700)
committerAndy Grover <andy.grover@oracle.com>
Thu, 9 Sep 2010 01:16:48 +0000 (18:16 -0700)
commitffcec0e110c198717eb0f6ac000c1e5397db9451
tree3bb8796f26a1e8730d576a099a6f6cc10c9d35d8
parent5adb5bc65f93e52341c3fc9d03d4030dd375e256
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>
net/rds/connection.c