linux/fs/nfsd
J. Bruce Fields 55ef1274dd nfsd: Ensure nfsv4 calls the underlying filesystem on LOCKT
Since nfsv4 allows LOCKT without an open, but the ->lock() method is a
file method, we fake up a struct file in the nfsv4 code with just the
fields we need initialized.  But we forgot to initialize the file
operations, with the result that LOCKT never results in a call to the
filesystem's ->lock() method (if it exists).

We could just add that one more initialization.  But this hack of faking
up a struct file with only some fields initialized seems the kind of
thing that might cause more problems in the future.  We should either do
an open and get a real struct file, or make lock-testing an inode (not a
file) method.

This patch does the former.

Reported-by: Marc Eshel <eshel@almaden.ibm.com>
Tested-by: Marc Eshel <eshel@almaden.ibm.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
2009-01-07 15:40:27 -05:00
..
Makefile knfsd: trivial makefile cleanup 2007-05-09 12:30:54 -07:00
auth.c CRED: Differentiate objective and effective subjective credentials on a task 2008-11-14 10:39:26 +11:00
auth.h nfsd: minor fs/nfsd/auth.h cleanup 2008-02-01 16:42:05 -05:00
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
lockd.c nfsd: common grace period control 2008-10-03 16:19:02 -04:00
nfs2acl.c nfsd: rename MAY_ flags 2008-06-23 13:02:50 -04:00
nfs3acl.c nfsd: rename MAY_ flags 2008-06-23 13:02:50 -04:00
nfs3proc.c nfsd: permit unauthenticated stat of export root 2008-09-29 17:56:56 -04:00
nfs3xdr.c Use struct path in struct svc_export 2008-02-14 21:17:08 -08:00
nfs4acl.c nfsd: fix buffer overrun decoding NFSv4 acl 2008-09-01 14:24:24 -04:00
nfs4callback.c nfsd: support callbacks with gss flavors 2008-12-23 16:19:00 -05:00
nfs4idmap.c nfsd: fix sparse warnings 2008-04-23 16:13:39 -04:00
nfs4proc.c nfsd: common grace period control 2008-10-03 16:19:02 -04:00
nfs4recover.c nfsd: Fix leaked memory in nfs4_make_rec_clidname 2009-01-06 11:53:47 -05:00
nfs4state.c nfsd: Ensure nfsv4 calls the underlying filesystem on LOCKT 2009-01-07 15:40:27 -05:00
nfs4xdr.c nfsd: nfs4xdr decode_stateid helper function 2008-09-29 17:56:59 -04:00
nfscache.c nfsd: fail module init on reply cache init failure 2008-02-01 16:42:04 -05:00
nfsctl.c NFSD: Add documenting comments for nfsctl interface 2009-01-06 11:53:57 -05:00
nfsfh.c nfsd: update fh_verify description 2009-01-06 11:53:45 -05:00
nfsproc.c nfsd: permit unauthenticated stat of export root 2008-09-29 17:56:56 -04:00
nfssvc.c NFSD: Fix BUG during NFSD shutdown processing 2008-10-22 13:36:05 -04:00
nfsxdr.c Use struct path in struct svc_export 2008-02-14 21:17:08 -08:00
stats.c [PATCH] knfsd: nfsd4: add per-operation server stats 2006-07-10 13:24:27 -07:00
vfs.c add a vfs_fsync helper 2009-01-05 11:54:28 -05:00