Patch "[PATCH] wrappers for ->i_mutex access" has been added to the 4.4-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
[PATCH] wrappers for ->i_mutex access
to the 4.4-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:
wrappers-for-i_mutex-access.patch
and it can be found in the queue-4.4 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
5955102c9984fa081b2d570cfac75c97eecf8f3bMon Sep 17 00:00:00 2001
From: Al Viro <[email protected]>
Date: Fri, 22 Jan 2016 15:40:57 -0500
Subject: [PATCH] wrappers for ->i_mutex access
From: Al Viro <[email protected]>
commit 5955102c9984fa081b2d570cfac75c97eecf8f3b upstream
parallel to mutex_{lock,unlock,trylock,is_locked,lock_nested}, inode_foo(inode) being mutex_foo(&inode->i_mutex).
Please, use those for access to ->i_mutex; over the coming cycle ->i_mutex will become rwsem, with ->lookup() done with it held only shared.
--- include/linux/fs.h | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-)
include/linux/fs.h +27 -2
@@ -710,6 +710,31 @@ enum inode_i_mutex_lock_class I_MUTEX_PARENT2, }; +static inline void inode_lock (struct inode *inode) +{ +mutex_lock (&inode->i_mutex); +} + +static inline void inode_unlock (struct inode *inode) +{ +mutex_unlock (&inode->i_mutex); +} + +static inline int inode_trylock (struct inode *inode) +{ +return mutex_trylock (&inode->i_mutex); +} + +static inline int inode_is_locked (struct inode *inode) +{ +return mutex_is_locked (&inode->i_mutex); +} + +static inline void inode_lock_nested (struct inode *inode,unsigned subclass) +{ +mutex_lock_nested (&inode->i_mutex, subclass); +} +void lock_two_nondirectories (struct inode *,struct inode *);void unlock_two_nondirectories (struct inode *,struct inode *);
@@ -3029,8 +3054,8 @@ static inline bool dir_emit_dots(struct }static inline bool dir_relax (struct inode *inode) { -mutex_unlock (&inode->i_mutex); -mutex_lock (&inode->i_mutex); +inode_unlock (inode); +inode_lock (inode);return !IS_DEADDIR (inode); }
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/wrappers-for-i_mutex-access.patch queue-4.4/0113-ecryptfs-fix-handling-of-directory-opening.patch