1
linux/fs/nfsd
Jeff Layton fa82a49127 nfsd: only set file_lock.fl_lmops in nfsd4_lockt if a stateowner is found
nfsd4_lockt does a search for a lockstateowner when building the lock
struct to test. If one is found, it'll set fl_owner to it. Regardless of
whether that happens, it'll also set fl_lmops. Given that this lock is
basically a "lightweight" lock that's just used for checking conflicts,
setting fl_lmops is probably not appropriate for it.

This behavior exposed a bug in DLM's GETLK implementation where it
wasn't clearing out the fields in the file_lock before filling in
conflicting lock info. While we were able to fix this in DLM, it
still seems pointless and dangerous to set the fl_lmops this way
when we may have a NULL lockstateowner.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: J. Bruce Fields <bfields@pig.fieldses.org>
2009-01-27 17:26:59 -05:00
..
auth.c nfsd: fix cred leak on every rpc 2009-01-27 17:26:59 -05:00
auth.h
export.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2008-10-23 10:22:40 -07:00
Kconfig fs/Kconfig: move nfsd out 2009-01-22 13:16:00 +03:00
lockd.c
Makefile
nfs2acl.c
nfs3acl.c
nfs3proc.c
nfs3xdr.c
nfs4acl.c
nfs4callback.c nfsd: git rid of nfs4_cb_null_ops declaration 2009-01-07 17:32:46 -05:00
nfs4idmap.c
nfs4proc.c nfsd: dprint each op status in nfsd4_proc_compound 2009-01-07 17:32:45 -05:00
nfs4recover.c nfsd: Fix leaked memory in nfs4_make_rec_clidname 2009-01-06 11:53:47 -05:00
nfs4state.c nfsd: only set file_lock.fl_lmops in nfsd4_lockt if a stateowner is found 2009-01-27 17:26:59 -05:00
nfs4xdr.c nfsd: delete wrong file comment from nfsd/nfs4xdr.c 2009-01-07 17:32:48 -05:00
nfscache.c
nfsctl.c NFSD: Add documenting comments for nfsctl interface 2009-01-06 11:53:57 -05:00
nfsfh.c NFSD: FIDs need to take precedence over UUIDs 2009-01-07 17:23:07 -05:00
nfsproc.c nfsd: add etoosmall to nfserrno 2009-01-07 17:32:45 -05:00
nfssvc.c
nfsxdr.c
stats.c
vfs.c nfsd: fix double-locks of directory mutex 2009-01-07 15:40:45 -05:00