linux/fs/dlm
David Teigland d4400156d4 [DLM] fix requestqueue race
Red Hat BZ 211914

There's a race between dlm_recoverd (1) enabling locking and (2) clearing
out the requestqueue, and dlm_recvd (1) checking if locking is enabled and
(2) adding a message to the requestqueue.  An order of recoverd(1),
recvd(1), recvd(2), recoverd(2) will result in a message being left on the
requestqueue.  The fix is to have dlm_recvd check if dlm_recoverd has
enabled locking after taking the mutex for the requestqueue and if it has
processing the message instead of queueing it.

Signed-off-by: David Teigland <teigland@redhat.com>
Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2006-11-30 10:35:10 -05:00
..
Kconfig [DLM] Add support for tcp communications 2006-11-30 10:35:00 -05:00
Makefile [DLM] Add support for tcp communications 2006-11-30 10:35:00 -05:00
ast.c [DLM] down conversion clearing flags 2006-08-23 16:07:31 -04:00
ast.h [DLM] The core of the DLM for GFS2/CLVM 2006-01-18 09:30:29 +00:00
config.c [DLM] PATCH 2/3 dlm: lowcomms close 2006-04-28 10:50:41 -04:00
config.h [DLM] The core of the DLM for GFS2/CLVM 2006-01-18 09:30:29 +00:00
debug_fs.c [GFS2] inode_diet: Replace inode.u.generic_ip with inode.i_private (gfs) 2006-09-28 08:32:24 -04:00
dir.c [DLM] Update DLM to the latest patch level 2006-01-20 08:47:07 +00:00
dir.h [DLM] The core of the DLM for GFS2/CLVM 2006-01-18 09:30:29 +00:00
dlm_internal.h [DLM] down conversion clearing flags 2006-08-23 16:07:31 -04:00
lock.c [DLM] fix requestqueue race 2006-11-30 10:35:10 -05:00
lock.h [DLM] dump rsb and locks on assert 2006-08-21 09:50:09 -04:00
lockspace.c [DLM] fix oops in kref_put when removing a lockspace 2006-11-06 09:28:01 -05:00
lockspace.h [DLM] dlm: user locks 2006-07-13 09:25:34 -04:00
lowcomms-sctp.c [DLM] Add support for tcp communications 2006-11-30 10:35:00 -05:00
lowcomms-tcp.c [DLM] Add support for tcp communications 2006-11-30 10:35:00 -05:00
lowcomms.h [PATCH] dlm gfp_t annotations 2006-10-09 14:19:08 -07:00
lvb_table.h [DLM] The core of the DLM for GFS2/CLVM 2006-01-18 09:30:29 +00:00
main.c [DLM] dlm: user locks 2006-07-13 09:25:34 -04:00
member.c [DLM] show nodeid for recovery message 2006-08-09 09:46:38 -04:00
member.h [DLM] The core of the DLM for GFS2/CLVM 2006-01-18 09:30:29 +00:00
memory.c [DLM] print bad length in assertion 2006-08-09 09:44:54 -04:00
memory.h [DLM] Remove range locks from the DLM 2006-02-23 09:56:38 +00:00
midcomms.c [DLM] Update DLM to the latest patch level 2006-01-20 08:47:07 +00:00
midcomms.h [DLM] The core of the DLM for GFS2/CLVM 2006-01-18 09:30:29 +00:00
rcom.c [DLM] status messages ping-pong between unmounted nodes 2006-11-30 10:35:06 -05:00
rcom.h [DLM] The core of the DLM for GFS2/CLVM 2006-01-18 09:30:29 +00:00
recover.c [DLM] res_recover_locks_count not reset when recover_locks is aborted 2006-11-30 10:35:03 -05:00
recover.h [DLM] The core of the DLM for GFS2/CLVM 2006-01-18 09:30:29 +00:00
recoverd.c [DLM] add new lockspace to list ealier 2006-08-25 10:02:53 -04:00
recoverd.h [DLM] The core of the DLM for GFS2/CLVM 2006-01-18 09:30:29 +00:00
requestqueue.c [DLM] fix requestqueue race 2006-11-30 10:35:10 -05:00
requestqueue.h [DLM] fix requestqueue race 2006-11-30 10:35:10 -05:00
user.c [DLM] force removal of user lockspace 2006-08-31 12:15:37 -04:00
user.h [DLM] dlm: user locks 2006-07-13 09:25:34 -04:00
util.c [DLM] Remove range locks from the DLM 2006-02-23 09:56:38 +00:00
util.h [DLM] The core of the DLM for GFS2/CLVM 2006-01-18 09:30:29 +00:00