linux/fs/nfs
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
..
cache_lib.c
cache_lib.h
callback_proc.c
callback_xdr.c
callback.c param: use ops in struct kernel_param, rather than get and set fns directly 2010-08-11 23:04:13 +09:30
callback.h
client.c NFS: Fix a typo in nfs_sockaddr_match_ipaddr6 2010-09-12 19:55:26 -04:00
delegation.c fs/locks.c: prepare for BKL removal 2010-10-05 11:02:04 +02:00
delegation.h
dir.c NFS: Fix an Oops in the NFSv4 atomic open code 2010-08-18 09:25:42 -04:00
direct.c
dns_resolve.c NFS: Use kernel DNS resolver [ver #2] 2010-08-11 17:11:28 +00:00
dns_resolve.h NFS: Use kernel DNS resolver [ver #2] 2010-08-11 17:11:28 +00:00
file.c Remove incorrect do_vfs_lock message 2010-09-12 19:55:25 -04:00
fscache-index.c
fscache.c
fscache.h
getroot.c
idmap.c
inode.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
internal.h 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
iostat.h
Kconfig SUNRPC: Fix the NFSv4 and RPCSEC_GSS Kconfig dependencies 2010-09-12 19:57:50 -04:00
Makefile
mount_clnt.c
namespace.c
nfs2xdr.c
nfs3acl.c
nfs3proc.c
nfs3xdr.c
nfs4_fs.h
nfs4namespace.c
nfs4proc.c NFS: Fix an Oops in the NFSv4 atomic open code 2010-08-18 09:25:42 -04:00
nfs4renewd.c
nfs4state.c fs/locks.c: prepare for BKL removal 2010-10-05 11:02:04 +02:00
nfs4xdr.c
nfsroot.c
pagelist.c
proc.c
read.c
super.c statfs() gives ESTALE error 2010-09-12 19:55:26 -04:00
symlink.c
sysctl.c
unlink.c
write.c