linux/fs/nfsd
Arnd Bergmann b89f432133 fs/locks.c: prepare for BKL removal
This prepares the removal of the big kernel lock from the
file locking code. We still use the BKL as long as fs/lockd
uses it and ceph might sleep, but we can flip the definition
to a private spinlock as soon as that's done.
All users outside of fs/lockd get converted to use
lock_flocks() instead of lock_kernel() where appropriate.

Based on an earlier patch to use a spinlock from Matthew
Wilcox, who has attempted this a few times before, the
earliest patch from over 10 years ago turned it into
a semaphore, which ended up being slower than the BKL
and was subsequently reverted.

Someone should do some serious performance testing when
this becomes a spinlock, since this has caused problems
before. Using a spinlock should be at least as good
as the BKL in theory, but who knows...

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Matthew Wilcox <willy@linux.intel.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Cc: "J. Bruce Fields" <bfields@fieldses.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Miklos Szeredi <mszeredi@suse.cz>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: John Kacur <jkacur@redhat.com>
Cc: Sage Weil <sage@newdream.net>
Cc: linux-kernel@vger.kernel.org
Cc: linux-fsdevel@vger.kernel.org
2010-10-05 11:02:04 +02:00
..
auth.c
auth.h
cache.h
export.c
Kconfig SUNRPC: Fix the NFSv4 and RPCSEC_GSS Kconfig dependencies 2010-09-12 19:57:50 -04:00
lockd.c
Makefile
nfs2acl.c
nfs3acl.c
nfs3proc.c nfsd: minor nfsd read api cleanup 2010-07-30 12:54:54 -04:00
nfs3xdr.c
nfs4acl.c
nfs4callback.c nfsd41: Fix a crash when a callback is retried 2010-08-06 17:05:39 -04:00
nfs4idmap.c
nfs4proc.c nfsd4: implement reclaim_complete 2010-05-13 12:03:11 -04:00
nfs4recover.c sanitize vfs_fsync calling conventions 2010-05-21 18:31:21 -04:00
nfs4state.c fs/locks.c: prepare for BKL removal 2010-10-05 11:02:04 +02:00
nfs4xdr.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2010-08-10 11:26:52 -07:00
nfscache.c
nfsctl.c nfsd: don't allow setting maxblksize after svc created 2010-08-06 18:00:33 -04:00
nfsd.h nfsd4: share file descriptors between stateid's 2010-07-29 18:19:23 -04:00
nfsfh.c
nfsfh.h
nfsproc.c nfsd: minor nfsd read api cleanup 2010-07-30 12:54:54 -04:00
nfssvc.c nfsd: initialize nfsd versions before creating svc 2010-08-06 17:05:40 -04:00
nfsxdr.c
state.h nfsd4: fix downgrade/lock logic 2010-08-26 13:22:02 -04:00
stats.c
vfs.c nfsd: fix NULL dereference in nfsd_statfs() 2010-08-26 13:23:16 -04:00
vfs.h nfsd: minor nfsd read api cleanup 2010-07-30 12:54:54 -04:00
xdr3.h
xdr4.h nfsd4: implement reclaim_complete 2010-05-13 12:03:11 -04:00
xdr.h