Commit d86c390ffbf5746df9a3cc2c5f7b75d27704580f
Committed by
Linus Torvalds
1 parent
9223214e8d
[PATCH] reiserfs+acl+quota deadlock fix
When i_acl_default is set to some error we do not hold the lock (hence we are not allowed to drop it and reacquire later). Signed-off-by: Jan Kara <jack@suse.cz> Cc: Jeff Mahoney <jeffm@suse.com> Cc: Chris Mason <mason@suse.com> Cc: <reiserfs-dev@namesys.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Showing 1 changed file with 1 additions and 1 deletions Side-by-side Diff
fs/reiserfs/inode.c
... | ... | @@ -1985,7 +1985,7 @@ |
1985 | 1985 | * iput doesn't deadlock in reiserfs_delete_xattrs. The locking |
1986 | 1986 | * code really needs to be reworked, but this will take care of it |
1987 | 1987 | * for now. -jeffm */ |
1988 | - if (REISERFS_I(dir)->i_acl_default) { | |
1988 | + if (REISERFS_I(dir)->i_acl_default && !IS_ERR(REISERFS_I(dir)->i_acl_default)) { | |
1989 | 1989 | reiserfs_write_unlock_xattrs(dir->i_sb); |
1990 | 1990 | iput(inode); |
1991 | 1991 | reiserfs_write_lock_xattrs(dir->i_sb); |