diff options
Diffstat (limited to 'fs/reiserfs/inode.c')
-rw-r--r-- | fs/reiserfs/inode.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/fs/reiserfs/inode.c b/fs/reiserfs/inode.c index 995f6975cae1..fcd302d81447 100644 --- a/fs/reiserfs/inode.c +++ b/fs/reiserfs/inode.c | |||
@@ -1747,7 +1747,8 @@ int reiserfs_new_inode(struct reiserfs_transaction_handle *th, | |||
1747 | /* 0 for regular, EMTRY_DIR_SIZE for dirs, | 1747 | /* 0 for regular, EMTRY_DIR_SIZE for dirs, |
1748 | strlen (symname) for symlinks) */ | 1748 | strlen (symname) for symlinks) */ |
1749 | loff_t i_size, struct dentry *dentry, | 1749 | loff_t i_size, struct dentry *dentry, |
1750 | struct inode *inode) | 1750 | struct inode *inode, |
1751 | struct reiserfs_security_handle *security) | ||
1751 | { | 1752 | { |
1752 | struct super_block *sb; | 1753 | struct super_block *sb; |
1753 | struct reiserfs_iget_args args; | 1754 | struct reiserfs_iget_args args; |
@@ -1929,6 +1930,19 @@ int reiserfs_new_inode(struct reiserfs_transaction_handle *th, | |||
1929 | } else if (IS_PRIVATE(dir)) | 1930 | } else if (IS_PRIVATE(dir)) |
1930 | inode->i_flags |= S_PRIVATE; | 1931 | inode->i_flags |= S_PRIVATE; |
1931 | 1932 | ||
1933 | if (security->name) { | ||
1934 | retval = reiserfs_security_write(th, inode, security); | ||
1935 | if (retval) { | ||
1936 | err = retval; | ||
1937 | reiserfs_check_path(&path_to_key); | ||
1938 | retval = journal_end(th, th->t_super, | ||
1939 | th->t_blocks_allocated); | ||
1940 | if (retval) | ||
1941 | err = retval; | ||
1942 | goto out_inserted_sd; | ||
1943 | } | ||
1944 | } | ||
1945 | |||
1932 | reiserfs_update_sd(th, inode); | 1946 | reiserfs_update_sd(th, inode); |
1933 | reiserfs_check_path(&path_to_key); | 1947 | reiserfs_check_path(&path_to_key); |
1934 | 1948 | ||