diff options
author | Arnd Bergmann <arnd@arndb.de> | 2010-10-27 09:46:08 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2010-10-27 15:41:50 -0400 |
commit | c5b1f0d92c36851aca09ac6c7c0c4f9690ac14f3 (patch) | |
tree | c8aa4ad65aea3b97292135a4c23d512e6071dc8d /include/linux/fs.h | |
parent | a282a1fa6b23bd21ba0b86e53ed2a316b001836f (diff) |
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/linux/fs.h')
-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); | |||
1113 | 1113 | ||
1114 | /* fs/locks.c */ | 1114 | /* fs/locks.c */ |
1115 | extern void locks_init_lock(struct file_lock *); | 1115 | extern void locks_init_lock(struct file_lock *); |
1116 | extern struct file_lock * locks_alloc_lock(void); | ||
1116 | extern void locks_copy_lock(struct file_lock *, struct file_lock *); | 1117 | extern void locks_copy_lock(struct file_lock *, struct file_lock *); |
1117 | extern void __locks_copy_lock(struct file_lock *, const struct file_lock *); | 1118 | extern void __locks_copy_lock(struct file_lock *, const struct file_lock *); |
1118 | extern void locks_remove_posix(struct file *, fl_owner_t); | 1119 | extern void locks_remove_posix(struct file *, fl_owner_t); |