wrappers for ->i_mutex access
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: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
@@ -807,7 +807,7 @@ int ocfs2_remove_refcount_tree(struct inode *inode, struct buffer_head *di_bh)
|
||||
mlog_errno(ret);
|
||||
goto out;
|
||||
}
|
||||
mutex_lock(&alloc_inode->i_mutex);
|
||||
inode_lock(alloc_inode);
|
||||
|
||||
ret = ocfs2_inode_lock(alloc_inode, &alloc_bh, 1);
|
||||
if (ret) {
|
||||
@@ -867,7 +867,7 @@ out_unlock:
|
||||
}
|
||||
out_mutex:
|
||||
if (alloc_inode) {
|
||||
mutex_unlock(&alloc_inode->i_mutex);
|
||||
inode_unlock(alloc_inode);
|
||||
iput(alloc_inode);
|
||||
}
|
||||
out:
|
||||
@@ -4197,7 +4197,7 @@ static int __ocfs2_reflink(struct dentry *old_dentry,
|
||||
goto out;
|
||||
}
|
||||
|
||||
mutex_lock_nested(&new_inode->i_mutex, I_MUTEX_CHILD);
|
||||
inode_lock_nested(new_inode, I_MUTEX_CHILD);
|
||||
ret = ocfs2_inode_lock_nested(new_inode, &new_bh, 1,
|
||||
OI_LS_REFLINK_TARGET);
|
||||
if (ret) {
|
||||
@@ -4231,7 +4231,7 @@ inode_unlock:
|
||||
ocfs2_inode_unlock(new_inode, 1);
|
||||
brelse(new_bh);
|
||||
out_unlock:
|
||||
mutex_unlock(&new_inode->i_mutex);
|
||||
inode_unlock(new_inode);
|
||||
out:
|
||||
if (!ret) {
|
||||
ret = filemap_fdatawait(inode->i_mapping);
|
||||
@@ -4402,11 +4402,11 @@ static int ocfs2_vfs_reflink(struct dentry *old_dentry, struct inode *dir,
|
||||
return error;
|
||||
}
|
||||
|
||||
mutex_lock(&inode->i_mutex);
|
||||
inode_lock(inode);
|
||||
error = dquot_initialize(dir);
|
||||
if (!error)
|
||||
error = ocfs2_reflink(old_dentry, dir, new_dentry, preserve);
|
||||
mutex_unlock(&inode->i_mutex);
|
||||
inode_unlock(inode);
|
||||
if (!error)
|
||||
fsnotify_create(dir, new_dentry);
|
||||
return error;
|
||||
|
Reference in New Issue
Block a user