diff options
Diffstat (limited to 'fs/ubifs/dir.c')
| -rw-r--r-- | fs/ubifs/dir.c | 18 |
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; |
