linux-hardened/fs/dlm
David Teigland 901025d2f3 dlm: make plock operation killable
Allow processes blocked on plock requests to be interrupted
when they are killed.  This leaves the problem of cleaning
up the lock state in userspace.  This has three parts:

1. Add a flag to unlock operations sent to userspace
indicating the file is being closed.  Userspace will
then look for and clear any waiting plock operations that
were abandoned by an interrupted process.

2. Queue an unlock-close operation (like in 1) to clean up
userspace from an interrupted plock request.  This is needed
because the vfs will not send a cleanup-unlock if it sees no
locks on the file, which it won't if the interrupted operation
was the only one.

3. Do not use replies from userspace for unlock-close operations
because they are unnecessary (they are just cleaning up for the
process which did not make an unlock call).  This also simplifies
the new unlock-close generated from point 2.

Signed-off-by: David Teigland <teigland@redhat.com>
2011-05-23 10:47:06 -05:00
..
ast.c dlm: record full callback state 2011-03-10 10:40:00 -06:00
ast.h dlm: record full callback state 2011-03-10 10:40:00 -06:00
config.c dlm: delayed reply message warning 2011-04-01 14:19:06 -05:00
config.h dlm: delayed reply message warning 2011-04-01 14:19:06 -05:00
debug_fs.c dlm: record full callback state 2011-03-10 10:40:00 -06:00
dir.c dlm: always use GFP_NOFS 2009-11-30 16:34:43 -06:00
dir.h
dlm_internal.h dlm: remove shared message stub for recovery 2011-04-05 10:54:47 -05:00
Kconfig dlm: Make DLM depend on CONFIGFS_FS 2011-01-16 21:22:37 +00:00
lock.c dlm: remove shared message stub for recovery 2011-04-05 10:54:47 -05:00
lock.h dlm: delayed reply message warning 2011-04-01 14:19:06 -05:00
lockspace.c dlm: delayed reply message warning 2011-04-01 14:19:06 -05:00
lockspace.h dlm: detect available userspace daemon 2008-08-28 11:49:43 -05:00
lowcomms.c dlm: use alloc_workqueue function 2011-03-10 13:22:34 -06:00
lowcomms.h dlm: connect to nodes earlier 2009-05-15 09:34:12 -05:00
lvb_table.h
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 Fix misspellings of "truly" in comments. 2010-02-04 11:55:45 +01:00
member.h dlm: reject messages from non-members 2008-01-30 11:04:42 -06:00
memory.c dlm: always use GFP_NOFS 2009-11-30 16:34:43 -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
netlink.c dlm: use genl_register_family_with_ops() 2010-08-05 14:22:01 -05:00
plock.c dlm: make plock operation killable 2011-05-23 10:47:06 -05:00
rcom.c dlm: record full callback state 2011-03-10 10:40:00 -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
recoverd.c dlm: recover nodes that are removed and re-added 2008-04-21 11:18:01 -05:00
recoverd.h
requestqueue.c dlm: always use GFP_NOFS 2009-11-30 16:34:43 -06: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: Remove superfluous call to recalc_sigpending() 2011-03-28 10:20:17 -05: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