05 Oct, 2010
1 commit
-
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
Acked-by: Matthew Wilcox
Cc: Christoph Hellwig
Cc: Trond Myklebust
Cc: "J. Bruce Fields"
Cc: Andrew Morton
Cc: Miklos Szeredi
Cc: Frederic Weisbecker
Cc: Ingo Molnar
Cc: John Kacur
Cc: Sage Weil
Cc: linux-kernel@vger.kernel.org
Cc: linux-fsdevel@vger.kernel.org
22 Sep, 2009
1 commit
-
Signed-off-by: Alexey Dobriyan
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
01 Jul, 2009
1 commit
-
Don't unlock on vfs_rejected_lock path in afs_do_setlk, since the lock
is unlocked after abort_attempt label.Signed-off-by: Jiri Slaby
Signed-off-by: David Howells
Signed-off-by: Linus Torvalds
10 Oct, 2007
1 commit
-
The __mandatory_lock(inode) macro makes the same check, but makes the code
more readable.Signed-off-by: Pavel Emelyanov
Cc: David Howells
Signed-off-by: Andrew Morton
01 Aug, 2007
1 commit
-
Fix file locking for AFS:
(*) Start the lock manager thread under a mutex to avoid a race.
(*) Made the locking non-fair: New readlocks will jump pending writelocks if
there's a readlock currently granted on a file. This makes the behaviour
similar to Linux's VFS locking.Signed-off-by: David Howells
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
20 Jul, 2007
1 commit
-
Bruce and David's patches clashed.
fs/afs/flock.c: In function 'afs_do_getlk':
fs/afs/flock.c:459: error: void value not ignored as it ought to beCc: "J. Bruce Fields"
Acked-by: David Howells
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
17 Jul, 2007
1 commit
-
Implement file locking for AFS.
Signed-off-by: David Howells
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds