Patch "locks: inline posix_lock_file_wait and flock_lock_file_wait" has been added to the 4.1-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
locks: inline posix_lock_file_wait and flock_lock_file_wait
to the 4.1-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
locks-inline-posix_lock_file_wait-and-flock_lock_file_wait.patch
and it can be found in the queue-4.1 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
ee296d7c5709440f8abd36b5b65c6b3e388538d9Mon Sep 17 00:00:00 2001
From: Jeff Layton <[email protected]>
Date: Sat, 11 Jul 2015 06:43:03 -0400
Subject: locks: inline posix_lock_file_wait and flock_lock_file_wait
From: Jeff Layton <[email protected]>
commit ee296d7c5709440f8abd36b5b65c6b3e388538d9 upstream.
They just call file_inode and then the corresponding *_inode_file_wait function. Just make them static inlines instead.
--- fs/locks.c | 28 ---------------------------- include/linux/fs.h | 32 ++++++++++++++------------------ 2 files changed, 14 insertions(+), 46 deletions(-)
fs/locks.c +0 -28
@@ -1190,21 +1190,6 @@ int posix_lock_inode_wait(struct inode *EXPORT_SYMBOL (posix_lock_inode_wait);/** -* posix_lock_file_wait - Apply a POSIX-style lock to a file -* @filp: The file to apply the lock to -* @fl: The lock to be applied -* -* Add a POSIX style lock to a file. -* We merge adjacent & overlapping locks whenever possible. -* POSIX locks are sorted by owner task, then by starting address -*/ -int posix_lock_file_wait (struct file *filp,struct file_lock *fl) -{ -return posix_lock_inode_wait (file_inode (filp), fl); -} -EXPORT_SYMBOL (posix_lock_file_wait); - -/** * locks_mandatory_locked - Check for an active lock * @file: the file to check *
@@ -1890,19 +1875,6 @@ int flock_lock_inode_wait(struct inode *EXPORT_SYMBOL (flock_lock_inode_wait);/** -* flock_lock_file_wait - Apply a FLOCK-style lock to a file -* @filp: The file to apply the lock to -* @fl: The lock to be applied -* -* Add a FLOCK style lock to a file. -*/ -int flock_lock_file_wait (struct file *filp,struct file_lock *fl) -{ -return flock_lock_inode_wait (file_inode (filp), fl); -} -EXPORT_SYMBOL (flock_lock_file_wait); - -/** * sys_flock: - flock() system call. * @fd: the file descriptor to lock. * @cmd: the type of lock to apply.
include/linux/fs.h +14 -18
@@ -1037,13 +1037,11 @@ extern void locks_release_private(structextern void posix_test_lock (struct file *,struct file_lock *);extern int posix_lock_file (struct file *,struct file_lock *,struct file_lock *);extern int posix_lock_inode_wait (struct inode *,struct file_lock *); -extern int posix_lock_file_wait (struct file *,struct file_lock *);extern int posix_unblock_lock (struct file_lock *);extern int vfs_test_lock (struct file *,struct file_lock *);extern int vfs_lock_file (struct file *,unsigned int ,struct file_lock *,struct file_lock *);extern int vfs_cancel_lock (struct file *filp,struct file_lock *fl);extern int flock_lock_inode_wait (struct inode *inode,struct file_lock *fl); -extern int flock_lock_file_wait (struct file *filp,struct file_lock *fl);extern int __break_lease (struct inode *inode,unsigned int flags,unsigned int type);extern void lease_get_mtime (struct inode *,struct timespec *time);extern int generic_setlease (struct file *,long ,struct file_lock **,void **priv);
@@ -1135,11 +1133,6 @@ static inline int posix_lock_inode_wait(return -ENOLCK ; } -static inline int posix_lock_file_wait (struct file *filp,struct file_lock *fl) -{ -return -ENOLCK ; -} -static inline int posix_unblock_lock (struct file_lock *waiter) {return -ENOENT ;
@@ -1167,12 +1160,6 @@ static inline int flock_lock_inode_wait(return -ENOLCK ; } -static inline int flock_lock_file_wait (struct file *filp, -struct file_lock *request) -{ -return -ENOLCK ; -} -static inline int __break_lease (struct inode *inode,unsigned int mode,unsigned int type) {return 0 ;
@@ -1206,6 +1193,20 @@ static inline void show_fd_locks(struct struct file *filp, struct files_struct *files) {}#endif /* !CONFIG_FILE_LOCKING */ +static inline struct inode *file_inode (const struct file *f) +{ +return f->f_inode; +} + +static inline int posix_lock_file_wait (struct file *filp,struct file_lock *fl) +{ +return posix_lock_inode_wait (file_inode (filp), fl); +} + +static inline int flock_lock_file_wait (struct file *filp,struct file_lock *fl) +{ +return flock_lock_inode_wait (file_inode (filp), fl); +}struct fasync_struct {spinlock_t fa_lock;
@@ -2005,11 +2006,6 @@ extern void ihold(struct inode * inode);extern void iput (struct inode *);extern int generic_update_time (struct inode *,struct timespec *,int ); -static inline struct inode *file_inode (const struct file *f) -{ -return f->f_inode; -} -/* /sys/fs */ extern struct kobject *fs_kobj;
Patches currently in stable-queue which might be from [email protected] are
queue-4.1/locks-new-helpers-flock_lock_inode_wait-and-posix_lock_inode_wait.patch queue-4.1/locks-have-flock_lock_file-take-an-inode-pointer-instead-of-a-filp.patch queue-4.1/locks-inline-posix_lock_file_wait-and-flock_lock_file_wait.patch queue-4.1/nfs4-have-do_vfs_lock-take-an-inode-pointer.patch