aboutsummaryrefslogtreecommitdiffstats
path: root/fs/reiserfs/inode.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/reiserfs/inode.c')
-rw-r--r--fs/reiserfs/inode.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/fs/reiserfs/inode.c b/fs/reiserfs/inode.c
index 8810fda0da46..7e5a2f5ebeb0 100644
--- a/fs/reiserfs/inode.c
+++ b/fs/reiserfs/inode.c
@@ -1127,9 +1127,9 @@ static void init_inode(struct inode *inode, struct path *path)
1127 REISERFS_I(inode)->i_prealloc_count = 0; 1127 REISERFS_I(inode)->i_prealloc_count = 0;
1128 REISERFS_I(inode)->i_trans_id = 0; 1128 REISERFS_I(inode)->i_trans_id = 0;
1129 REISERFS_I(inode)->i_jl = NULL; 1129 REISERFS_I(inode)->i_jl = NULL;
1130 REISERFS_I(inode)->i_acl_access = NULL; 1130 reiserfs_init_acl_access(inode);
1131 REISERFS_I(inode)->i_acl_default = NULL; 1131 reiserfs_init_acl_default(inode);
1132 init_rwsem(&REISERFS_I(inode)->xattr_sem); 1132 reiserfs_init_xattr_rwsem(inode);
1133 1133
1134 if (stat_data_v1(ih)) { 1134 if (stat_data_v1(ih)) {
1135 struct stat_data_v1 *sd = 1135 struct stat_data_v1 *sd =
@@ -1834,9 +1834,9 @@ int reiserfs_new_inode(struct reiserfs_transaction_handle *th,
1834 REISERFS_I(inode)->i_attrs = 1834 REISERFS_I(inode)->i_attrs =
1835 REISERFS_I(dir)->i_attrs & REISERFS_INHERIT_MASK; 1835 REISERFS_I(dir)->i_attrs & REISERFS_INHERIT_MASK;
1836 sd_attrs_to_i_attrs(REISERFS_I(inode)->i_attrs, inode); 1836 sd_attrs_to_i_attrs(REISERFS_I(inode)->i_attrs, inode);
1837 REISERFS_I(inode)->i_acl_access = NULL; 1837 reiserfs_init_acl_access(inode);
1838 REISERFS_I(inode)->i_acl_default = NULL; 1838 reiserfs_init_acl_default(inode);
1839 init_rwsem(&REISERFS_I(inode)->xattr_sem); 1839 reiserfs_init_xattr_rwsem(inode);
1840 1840
1841 if (old_format_only(sb)) 1841 if (old_format_only(sb))
1842 make_le_item_head(&ih, NULL, KEY_FORMAT_3_5, SD_OFFSET, 1842 make_le_item_head(&ih, NULL, KEY_FORMAT_3_5, SD_OFFSET,
@@ -1974,11 +1974,13 @@ int reiserfs_new_inode(struct reiserfs_transaction_handle *th,
1974 * iput doesn't deadlock in reiserfs_delete_xattrs. The locking 1974 * iput doesn't deadlock in reiserfs_delete_xattrs. The locking
1975 * code really needs to be reworked, but this will take care of it 1975 * code really needs to be reworked, but this will take care of it
1976 * for now. -jeffm */ 1976 * for now. -jeffm */
1977#ifdef CONFIG_REISERFS_FS_POSIX_ACL
1977 if (REISERFS_I(dir)->i_acl_default && !IS_ERR(REISERFS_I(dir)->i_acl_default)) { 1978 if (REISERFS_I(dir)->i_acl_default && !IS_ERR(REISERFS_I(dir)->i_acl_default)) {
1978 reiserfs_write_unlock_xattrs(dir->i_sb); 1979 reiserfs_write_unlock_xattrs(dir->i_sb);
1979 iput(inode); 1980 iput(inode);
1980 reiserfs_write_lock_xattrs(dir->i_sb); 1981 reiserfs_write_lock_xattrs(dir->i_sb);
1981 } else 1982 } else
1983#endif
1982 iput(inode); 1984 iput(inode);
1983 return err; 1985 return err;
1984} 1986}