diff options
Diffstat (limited to 'fs/ramfs/file-nommu.c')
-rw-r--r-- | fs/ramfs/file-nommu.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/ramfs/file-nommu.c b/fs/ramfs/file-nommu.c index 869f2d80183d..d532c20fc179 100644 --- a/fs/ramfs/file-nommu.c +++ b/fs/ramfs/file-nommu.c | |||
@@ -146,7 +146,7 @@ static int ramfs_nommu_resize(struct inode *inode, loff_t newsize, loff_t size) | |||
146 | return ret; | 146 | return ret; |
147 | } | 147 | } |
148 | 148 | ||
149 | ret = vmtruncate(inode, newsize); | 149 | ret = simple_setsize(inode, newsize); |
150 | 150 | ||
151 | return ret; | 151 | return ret; |
152 | } | 152 | } |
@@ -169,7 +169,8 @@ static int ramfs_nommu_setattr(struct dentry *dentry, struct iattr *ia) | |||
169 | 169 | ||
170 | /* pick out size-changing events */ | 170 | /* pick out size-changing events */ |
171 | if (ia->ia_valid & ATTR_SIZE) { | 171 | if (ia->ia_valid & ATTR_SIZE) { |
172 | loff_t size = i_size_read(inode); | 172 | loff_t size = inode->i_size; |
173 | |||
173 | if (ia->ia_size != size) { | 174 | if (ia->ia_size != size) { |
174 | ret = ramfs_nommu_resize(inode, ia->ia_size, size); | 175 | ret = ramfs_nommu_resize(inode, ia->ia_size, size); |
175 | if (ret < 0 || ia->ia_valid == ATTR_SIZE) | 176 | if (ret < 0 || ia->ia_valid == ATTR_SIZE) |
@@ -182,7 +183,7 @@ static int ramfs_nommu_setattr(struct dentry *dentry, struct iattr *ia) | |||
182 | } | 183 | } |
183 | } | 184 | } |
184 | 185 | ||
185 | ret = inode_setattr(inode, ia); | 186 | generic_setattr(inode, ia); |
186 | out: | 187 | out: |
187 | ia->ia_valid = old_ia_valid; | 188 | ia->ia_valid = old_ia_valid; |
188 | return ret; | 189 | return ret; |