reiserfs: Don't call reiserfs_get_acl() with the reiserfs lock
reiserfs_get_acl is usually not called under the reiserfs lock, as it doesn't need it. But it happens when it is called by reiserfs_acl_chmod(), which creates a dependency inversion against the private xattr inodes mutexes for the given inode. We need to call it without the reiserfs lock, especially since it's unnecessary. Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> Cc: Christian Kujau <lists@nerdbynature.de> Cc: Alexander Beregalov <a.beregalov@gmail.com> Cc: Chris Mason <chris.mason@oracle.com> Cc: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Родитель
4f3be1b5a9
Коммит
6c28705418
|
@ -452,7 +452,9 @@ int reiserfs_acl_chmod(struct inode *inode)
|
|||
return 0;
|
||||
}
|
||||
|
||||
reiserfs_write_unlock(inode->i_sb);
|
||||
acl = reiserfs_get_acl(inode, ACL_TYPE_ACCESS);
|
||||
reiserfs_write_lock(inode->i_sb);
|
||||
if (!acl)
|
||||
return 0;
|
||||
if (IS_ERR(acl))
|
||||
|
|
Загрузка…
Ссылка в новой задаче