diff options
author | Arnd Bergmann <arnd@arndb.de> | 2010-10-27 17:46:08 +0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2010-10-27 23:41:50 +0400 |
commit | c5b1f0d92c36851aca09ac6c7c0c4f9690ac14f3 (patch) | |
tree | c8aa4ad65aea3b97292135a4c23d512e6071dc8d /include | |
parent | a282a1fa6b23bd21ba0b86e53ed2a316b001836f (diff) | |
download | linux-c5b1f0d92c36851aca09ac6c7c0c4f9690ac14f3.tar.xz |
locks/nfsd: allocate file lock outside of spinlock
As suggested by Christoph Hellwig, this moves allocation
of new file locks out of generic_setlease into the
callers, nfs4_open_delegation and fcntl_setlease in order
to allow GFP_KERNEL allocations when lock_flocks has
become a spinlock.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/fs.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/fs.h b/include/linux/fs.h index bb20373d0b46..8d7de08ab546 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -1113,6 +1113,7 @@ extern int fcntl_getlease(struct file *filp); /* fs/locks.c */ extern void locks_init_lock(struct file_lock *); +extern struct file_lock * locks_alloc_lock(void); extern void locks_copy_lock(struct file_lock *, struct file_lock *); extern void __locks_copy_lock(struct file_lock *, const struct file_lock *); extern void locks_remove_posix(struct file *, fl_owner_t); |