diff options
Diffstat (limited to 'fs/udf/ialloc.c')
-rw-r--r-- | fs/udf/ialloc.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/fs/udf/ialloc.c b/fs/udf/ialloc.c index c10fa39f97e2..fb68c9cd0c3e 100644 --- a/fs/udf/ialloc.c +++ b/fs/udf/ialloc.c | |||
@@ -36,8 +36,8 @@ void udf_free_inode(struct inode *inode) | |||
36 | * Note: we must free any quota before locking the superblock, | 36 | * Note: we must free any quota before locking the superblock, |
37 | * as writing the quota to disk may need the lock as well. | 37 | * as writing the quota to disk may need the lock as well. |
38 | */ | 38 | */ |
39 | vfs_dq_free_inode(inode); | 39 | dquot_free_inode(inode); |
40 | vfs_dq_drop(inode); | 40 | dquot_drop(inode); |
41 | 41 | ||
42 | clear_inode(inode); | 42 | clear_inode(inode); |
43 | 43 | ||
@@ -61,7 +61,7 @@ struct inode *udf_new_inode(struct inode *dir, int mode, int *err) | |||
61 | struct super_block *sb = dir->i_sb; | 61 | struct super_block *sb = dir->i_sb; |
62 | struct udf_sb_info *sbi = UDF_SB(sb); | 62 | struct udf_sb_info *sbi = UDF_SB(sb); |
63 | struct inode *inode; | 63 | struct inode *inode; |
64 | int block; | 64 | int block, ret; |
65 | uint32_t start = UDF_I(dir)->i_location.logicalBlockNum; | 65 | uint32_t start = UDF_I(dir)->i_location.logicalBlockNum; |
66 | struct udf_inode_info *iinfo; | 66 | struct udf_inode_info *iinfo; |
67 | struct udf_inode_info *dinfo = UDF_I(dir); | 67 | struct udf_inode_info *dinfo = UDF_I(dir); |
@@ -153,12 +153,14 @@ struct inode *udf_new_inode(struct inode *dir, int mode, int *err) | |||
153 | insert_inode_hash(inode); | 153 | insert_inode_hash(inode); |
154 | mark_inode_dirty(inode); | 154 | mark_inode_dirty(inode); |
155 | 155 | ||
156 | if (vfs_dq_alloc_inode(inode)) { | 156 | dquot_initialize(inode); |
157 | vfs_dq_drop(inode); | 157 | ret = dquot_alloc_inode(inode); |
158 | if (ret) { | ||
159 | dquot_drop(inode); | ||
158 | inode->i_flags |= S_NOQUOTA; | 160 | inode->i_flags |= S_NOQUOTA; |
159 | inode->i_nlink = 0; | 161 | inode->i_nlink = 0; |
160 | iput(inode); | 162 | iput(inode); |
161 | *err = -EDQUOT; | 163 | *err = ret; |
162 | return NULL; | 164 | return NULL; |
163 | } | 165 | } |
164 | 166 | ||