1
0
Fork 0
alistair23-linux/fs/dlm
Jeff Layton 20d5a39929 dlm: initialize file_lock struct in GETLK before copying conflicting lock
dlm_posix_get fills out the relevant fields in the file_lock before
returning when there is a lock conflict, but doesn't clean out any of
the other fields in the file_lock.

When nfsd does a NFSv4 lockt call, it sets the fl_lmops to
nfsd_posix_mng_ops before calling the lower fs. When the lock comes back
after testing a lock on GFS2, it still has that field set. This confuses
nfsd into thinking that the file_lock is a nfsd4 lock.

Fix this by making DLM reinitialize the file_lock before copying the
fields from the conflicting lock.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
2009-01-21 15:28:45 -06:00
..
Kconfig menuconfig: transform NLS and DLM menus 2007-10-17 08:43:00 -07:00
Makefile dlm: move plock code from gfs2 2008-04-21 11:22:28 -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: trivial annotation of be16 value 2008-12-23 10:15:51 -06: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 rsbtbl rwlock to spinlock 2009-01-08 15:12:39 -06:00
lock.c dlm: change rsbtbl rwlock to spinlock 2009-01-08 15:12:39 -06:00
lock.h dlm: make dlm_print_rsb() static 2008-04-21 11:18:01 -05:00
lockspace.c dlm: change rsbtbl rwlock to spinlock 2009-01-08 15:12:39 -06:00
lockspace.h dlm: detect available userspace daemon 2008-08-28 11:49:43 -05:00
lowcomms.c dlm: remove kmap/kunmap 2008-12-23 10:16:01 -06:00
lowcomms.h [DLM] Clean up lowcomms 2006-12-07 09:25:13 -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
member.c dlm: recover nodes that are removed and re-added 2008-04-21 11:18:01 -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: initialize file_lock struct in GETLK before copying conflicting lock 2009-01-21 15:28:45 -06: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 proper C for dlm/requestqueue stuff (and fix alignment bug) 2008-02-04 01:21:32 -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: improve how bast mode handling 2008-12-23 10:16:46 -06: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