diff options
Diffstat (limited to 'fs/affs/inode.c')
-rw-r--r-- | fs/affs/inode.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/affs/inode.c b/fs/affs/inode.c index 15c484268229..0e092d08680e 100644 --- a/fs/affs/inode.c +++ b/fs/affs/inode.c | |||
@@ -237,9 +237,12 @@ affs_notify_change(struct dentry *dentry, struct iattr *attr) | |||
237 | 237 | ||
238 | if ((attr->ia_valid & ATTR_SIZE) && | 238 | if ((attr->ia_valid & ATTR_SIZE) && |
239 | attr->ia_size != i_size_read(inode)) { | 239 | attr->ia_size != i_size_read(inode)) { |
240 | error = vmtruncate(inode, attr->ia_size); | 240 | error = inode_newsize_ok(inode, attr->ia_size); |
241 | if (error) | 241 | if (error) |
242 | return error; | 242 | return error; |
243 | |||
244 | truncate_setsize(inode, attr->ia_size); | ||
245 | affs_truncate(inode); | ||
243 | } | 246 | } |
244 | 247 | ||
245 | setattr_copy(inode, attr); | 248 | setattr_copy(inode, attr); |