aboutsummaryrefslogtreecommitdiffstats
path: root/fs/ubifs/dir.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/ubifs/dir.c')
-rw-r--r--fs/ubifs/dir.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/fs/ubifs/dir.c b/fs/ubifs/dir.c
index ea41649e4ca5..0fa6c803992e 100644
--- a/fs/ubifs/dir.c
+++ b/fs/ubifs/dir.c
@@ -108,8 +108,6 @@ struct inode *ubifs_new_inode(struct ubifs_info *c, const struct inode *dir,
108 inode->i_mtime = inode->i_atime = inode->i_ctime = 108 inode->i_mtime = inode->i_atime = inode->i_ctime =
109 ubifs_current_time(inode); 109 ubifs_current_time(inode);
110 inode->i_mapping->nrpages = 0; 110 inode->i_mapping->nrpages = 0;
111 /* Disable readahead */
112 inode->i_mapping->backing_dev_info = &c->bdi;
113 111
114 switch (mode & S_IFMT) { 112 switch (mode & S_IFMT) {
115 case S_IFREG: 113 case S_IFREG:
@@ -272,6 +270,10 @@ static int ubifs_create(struct inode *dir, struct dentry *dentry, umode_t mode,
272 goto out_budg; 270 goto out_budg;
273 } 271 }
274 272
273 err = ubifs_init_security(dir, inode, &dentry->d_name);
274 if (err)
275 goto out_cancel;
276
275 mutex_lock(&dir_ui->ui_mutex); 277 mutex_lock(&dir_ui->ui_mutex);
276 dir->i_size += sz_change; 278 dir->i_size += sz_change;
277 dir_ui->ui_size = dir->i_size; 279 dir_ui->ui_size = dir->i_size;
@@ -728,6 +730,10 @@ static int ubifs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
728 goto out_budg; 730 goto out_budg;
729 } 731 }
730 732
733 err = ubifs_init_security(dir, inode, &dentry->d_name);
734 if (err)
735 goto out_cancel;
736
731 mutex_lock(&dir_ui->ui_mutex); 737 mutex_lock(&dir_ui->ui_mutex);
732 insert_inode_hash(inode); 738 insert_inode_hash(inode);
733 inc_nlink(inode); 739 inc_nlink(inode);
@@ -808,6 +814,10 @@ static int ubifs_mknod(struct inode *dir, struct dentry *dentry,
808 ui->data = dev; 814 ui->data = dev;
809 ui->data_len = devlen; 815 ui->data_len = devlen;
810 816
817 err = ubifs_init_security(dir, inode, &dentry->d_name);
818 if (err)
819 goto out_cancel;
820
811 mutex_lock(&dir_ui->ui_mutex); 821 mutex_lock(&dir_ui->ui_mutex);
812 dir->i_size += sz_change; 822 dir->i_size += sz_change;
813 dir_ui->ui_size = dir->i_size; 823 dir_ui->ui_size = dir->i_size;
@@ -884,6 +894,10 @@ static int ubifs_symlink(struct inode *dir, struct dentry *dentry,
884 ui->data_len = len; 894 ui->data_len = len;
885 inode->i_size = ubifs_inode(inode)->ui_size = len; 895 inode->i_size = ubifs_inode(inode)->ui_size = len;
886 896
897 err = ubifs_init_security(dir, inode, &dentry->d_name);
898 if (err)
899 goto out_cancel;
900
887 mutex_lock(&dir_ui->ui_mutex); 901 mutex_lock(&dir_ui->ui_mutex);
888 dir->i_size += sz_change; 902 dir->i_size += sz_change;
889 dir_ui->ui_size = dir->i_size; 903 dir_ui->ui_size = dir->i_size;