diff options
Diffstat (limited to 'fs/reiserfs/inode.c')
-rw-r--r-- | fs/reiserfs/inode.c | 14 |
1 files changed, 1 insertions, 13 deletions
diff --git a/fs/reiserfs/inode.c b/fs/reiserfs/inode.c index cd42a8658086..50a73e7afdc8 100644 --- a/fs/reiserfs/inode.c +++ b/fs/reiserfs/inode.c | |||
@@ -1957,19 +1957,7 @@ int reiserfs_new_inode(struct reiserfs_transaction_handle *th, | |||
1957 | inode->i_nlink = 0; | 1957 | inode->i_nlink = 0; |
1958 | th->t_trans_id = 0; /* so the caller can't use this handle later */ | 1958 | th->t_trans_id = 0; /* so the caller can't use this handle later */ |
1959 | unlock_new_inode(inode); /* OK to do even if we hadn't locked it */ | 1959 | unlock_new_inode(inode); /* OK to do even if we hadn't locked it */ |
1960 | 1960 | iput(inode); | |
1961 | /* If we were inheriting an ACL, we need to release the lock so that | ||
1962 | * iput doesn't deadlock in reiserfs_delete_xattrs. The locking | ||
1963 | * code really needs to be reworked, but this will take care of it | ||
1964 | * for now. -jeffm */ | ||
1965 | #ifdef CONFIG_REISERFS_FS_POSIX_ACL | ||
1966 | if (REISERFS_I(dir)->i_acl_default && !IS_ERR(REISERFS_I(dir)->i_acl_default)) { | ||
1967 | reiserfs_write_unlock_xattrs(dir->i_sb); | ||
1968 | iput(inode); | ||
1969 | reiserfs_write_lock_xattrs(dir->i_sb); | ||
1970 | } else | ||
1971 | #endif | ||
1972 | iput(inode); | ||
1973 | return err; | 1961 | return err; |
1974 | } | 1962 | } |
1975 | 1963 | ||