dlm: fix connection close handling
authorLars Marowsky-Bree <lmb@suse.de>
Tue, 11 Aug 2009 21:18:23 +0000 (16:18 -0500)
committerDavid Teigland <teigland@redhat.com>
Mon, 24 Aug 2009 18:13:56 +0000 (13:13 -0500)
commit063c4c99630c0b06afad080d2a18bda64172c1a2
tree5ceca753d0366f9af6e2afbc9151494a6cfcac7d
parentb5711b8e5a437ca7d35321d19de568b4f76a7739
dlm: fix connection close handling

Closing a connection to a node can create problems if there are
outstanding messages for that node.  The problems include dlm_send
spinning attempting to reconnect, or BUG from tcp_connect_to_sock()
attempting to use a partially closed connection.

To cleanly close a connection, we now first attempt to send any pending
messages, cancel any remaining workqueue work, and flag the connection
as closed to avoid reconnect attempts.

Signed-off-by: Lars Marowsky-Bree <lmb@suse.de>
Signed-off-by: Christine Caulfield <ccaulfie@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
fs/dlm/lowcomms.c