diff options
Diffstat (limited to 'fs/hfsplus')
-rw-r--r-- | fs/hfsplus/inode.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/hfsplus/inode.c b/fs/hfsplus/inode.c index 5f86cadb0542..6229214ef7c1 100644 --- a/fs/hfsplus/inode.c +++ b/fs/hfsplus/inode.c | |||
@@ -254,6 +254,12 @@ static int hfsplus_setattr(struct dentry *dentry, struct iattr *attr) | |||
254 | if ((attr->ia_valid & ATTR_SIZE) && | 254 | if ((attr->ia_valid & ATTR_SIZE) && |
255 | attr->ia_size != i_size_read(inode)) { | 255 | attr->ia_size != i_size_read(inode)) { |
256 | inode_dio_wait(inode); | 256 | inode_dio_wait(inode); |
257 | if (attr->ia_size > inode->i_size) { | ||
258 | error = generic_cont_expand_simple(inode, | ||
259 | attr->ia_size); | ||
260 | if (error) | ||
261 | return error; | ||
262 | } | ||
257 | truncate_setsize(inode, attr->ia_size); | 263 | truncate_setsize(inode, attr->ia_size); |
258 | hfsplus_file_truncate(inode); | 264 | hfsplus_file_truncate(inode); |
259 | } | 265 | } |