linux-hardened/fs/dlm
David Teigland 96006ea6d4 dlm: fix missing dir remove
I don't know exactly how, but in some cases, a dir
record is not removed, or a new one is created when
it shouldn't be.  The result is that the dir node
lookup returns a master node where the rsb does not
exist.  In this case, The master node will repeatedly
return -EBADR for requests, and the lock requests will
be stuck.

Until all possible ways for this to happen can be
eliminated, a simple and effective way to recover from
this situation is for the supposed master node to send
a standard remove message to the dir node when it
receives a request for a resource it has no rsb for.

Signed-off-by: David Teigland <teigland@redhat.com>
2012-07-16 14:24:43 -05:00
..
ast.c dlm: fixes for nodir mode 2012-05-02 14:15:27 -05:00
ast.h dlm: use workqueue for callbacks 2011-07-15 12:30:43 -05:00
config.c dlm: use rsbtbl as resource directory 2012-07-16 14:16:19 -05:00
config.h dlm: use rsbtbl as resource directory 2012-07-16 14:16:19 -05:00
debug_fs.c dlm: use rsbtbl as resource directory 2012-07-16 14:16:19 -05:00
dir.c dlm: use rsbtbl as resource directory 2012-07-16 14:16:19 -05:00
dir.h dlm: use rsbtbl as resource directory 2012-07-16 14:16:19 -05:00
dlm_internal.h dlm: fix race between remove and lookup 2012-07-16 14:18:01 -05:00
Kconfig dlm: Make DLM depend on CONFIGFS_FS 2011-01-16 21:22:37 +00:00
lock.c dlm: fix missing dir remove 2012-07-16 14:24:43 -05:00
lock.h dlm: use rsbtbl as resource directory 2012-07-16 14:16:19 -05:00
lockspace.c dlm: fix race between remove and lookup 2012-07-16 14:18:01 -05:00
lockspace.h dlm: detect available userspace daemon 2008-08-28 11:49:43 -05:00
lowcomms.c dlm: prevent connections during shutdown 2012-04-26 15:35:38 -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: Drop __TIME__ usage 2011-05-26 09:46:17 +02:00
Makefile dlm: move plock code from gfs2 2008-04-21 11:22:28 -05:00
member.c dlm: add recovery callbacks 2012-01-04 08:56:31 -06:00
member.h dlm: add recovery callbacks 2012-01-04 08:56:31 -06:00
memory.c dlm: NULL dereference on failure in kmem_cache_create() 2012-05-15 10:39:28 -05:00
memory.h dlm: improve rsb searches 2011-07-12 16:02:09 -05: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 dlm: use genl_register_family_with_ops() 2010-08-05 14:22:01 -05:00
plock.c locks: rename lock-manager ops 2011-07-20 20:23:19 -04:00
rcom.c dlm: use idr instead of list for recovered rsbs 2012-07-16 14:17:52 -05:00
rcom.h dlm: use rsbtbl as resource directory 2012-07-16 14:16:19 -05:00
recover.c dlm: fix conversion deadlock from recovery 2012-07-16 14:18:22 -05:00
recover.h dlm: use rsbtbl as resource directory 2012-07-16 14:16:19 -05:00
recoverd.c dlm: use rsbtbl as resource directory 2012-07-16 14:16:19 -05:00
recoverd.h [DLM] The core of the DLM for GFS2/CLVM 2006-01-18 09:30:29 +00:00
requestqueue.c dlm: fixes for nodir mode 2012-05-02 14:15:27 -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: add recovery callbacks 2012-01-04 08:56:31 -06:00
user.h dlm: record full callback state 2011-03-10 10:40:00 -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