Commit d72e9b25 authored by Al Viro's avatar Al Viro Committed by Greg Kroah-Hartman

wrappers for ->i_mutex access

commit 5955102c 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.
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
[only the fs.h change included to make backports easier - gregkh]
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 09ca40a6
......@@ -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 file *file, struct dir_context *ctx)
}
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);
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment