linux/fs/dlm
Lars Marowsky-Bree 063c4c9963 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>
2009-08-24 13:13:56 -05:00
..
ast.c dlm: fs/dlm/ast.c: fix warning 2008-12-23 10:22:56 -06:00
ast.h dlm: improve how bast mode handling 2008-12-23 10:16:46 -06:00
config.c dlm: choose better identifiers 2008-09-05 09:51:30 -05:00
config.h dlm: recover nodes that are removed and re-added 2008-04-21 11:18:01 -05:00
debug_fs.c dlm: change rsbtbl rwlock to spinlock 2009-01-08 15:12:39 -06:00
dir.c dlm: use more NOFS allocation 2009-05-15 11:24:59 -05:00
dir.h [DLM] The core of the DLM for GFS2/CLVM 2006-01-18 09:30:29 +00:00
dlm_internal.h dlm: Change rwlock which is only used in write mode to a spinlock 2009-01-28 12:55:55 -06:00
Kconfig menuconfig: transform NLS and DLM menus 2007-10-17 08:43:00 -07:00
lock.c dlm: Fix uninitialised variable warning in lock.c 2009-06-17 11:31:32 -05:00
lock.h dlm: make dlm_print_rsb() static 2008-04-21 11:18:01 -05:00
lockspace.c dlm: fix use count with multiple joins 2009-05-07 10:14:42 -05:00
lockspace.h dlm: detect available userspace daemon 2008-08-28 11:49:43 -05:00
lowcomms.c dlm: fix connection close handling 2009-08-24 13:13:56 -05:00
lowcomms.h dlm: connect to nodes earlier 2009-05-15 09:34:12 -05:00
lvb_table.h [DLM] The core of the DLM for GFS2/CLVM 2006-01-18 09:30:29 +00:00
main.c dlm: move plock code from gfs2 2008-04-21 11:22:28 -05:00
Makefile dlm: move plock code from gfs2 2008-04-21 11:22:28 -05:00
member.c dlm: use more NOFS allocation 2009-05-15 11:24:59 -05:00
member.h dlm: reject messages from non-members 2008-01-30 11:04:42 -06:00
memory.c dlm: fix up memory allocation flags 2008-12-23 10:15:40 -06:00
memory.h dlm: use dlm prefix on alloc and free functions 2008-01-29 17:17:19 -06:00
midcomms.c dlm: fix up memory allocation flags 2008-12-23 10:15:40 -06:00
midcomms.h [DLM] The core of the DLM for GFS2/CLVM 2006-01-18 09:30:29 +00:00
netlink.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm 2009-01-05 19:02:09 -08:00
plock.c dlm: fix plock use-after-free 2009-06-18 13:42:42 -05:00
rcom.c dlm: fix rcom_names message to self 2008-02-21 15:19:54 -06:00
rcom.h [DLM] block dlm_recv in recovery transition 2007-10-10 08:56:38 +01:00
recover.c dlm: change rsbtbl rwlock to spinlock 2009-01-08 15:12:39 -06:00
recover.h [DLM] The core of the DLM for GFS2/CLVM 2006-01-18 09:30:29 +00:00
recoverd.c dlm: recover nodes that are removed and re-added 2008-04-21 11:18:01 -05:00
recoverd.h [DLM] The core of the DLM for GFS2/CLVM 2006-01-18 09:30:29 +00:00
requestqueue.c dlm: use more NOFS allocation 2009-05-15 11:24:59 -05:00
requestqueue.h dlm: use proper C for dlm/requestqueue stuff (and fix alignment bug) 2008-02-04 01:21:32 -06:00
user.c dlm: fix length calculation in compat code 2009-03-11 12:23:59 -05:00
user.h dlm: improve how bast mode handling 2008-12-23 10:16:46 -06:00
util.c dlm: do not byteswap rcom_config 2008-02-04 01:23:43 -06:00
util.h [DLM] The core of the DLM for GFS2/CLVM 2006-01-18 09:30:29 +00:00