|
@@ -569,7 +569,7 @@ static int shmem_setattr(struct dentry *dentry, struct iattr *attr)
|
|
i_size_write(inode, newsize);
|
|
i_size_write(inode, newsize);
|
|
inode->i_ctime = inode->i_mtime = CURRENT_TIME;
|
|
inode->i_ctime = inode->i_mtime = CURRENT_TIME;
|
|
}
|
|
}
|
|
- if (newsize < oldsize) {
|
|
|
|
|
|
+ if (newsize <= oldsize) {
|
|
loff_t holebegin = round_up(newsize, PAGE_SIZE);
|
|
loff_t holebegin = round_up(newsize, PAGE_SIZE);
|
|
unmap_mapping_range(inode->i_mapping, holebegin, 0, 1);
|
|
unmap_mapping_range(inode->i_mapping, holebegin, 0, 1);
|
|
shmem_truncate_range(inode, newsize, (loff_t)-1);
|
|
shmem_truncate_range(inode, newsize, (loff_t)-1);
|