Messages in this thread Patch in this message | | | From | Josef Bacik <> | Subject | [PATCH] tmpfs: truncate at i_size | Date | Tue, 19 May 2015 11:27:31 -0400 |
| |
If we fallocate past i_size with KEEP_SIZE, extend the file to use some but not all of this space, and then truncate(i_size) we won't trim the excess preallocated space. We decided at LSF that we want to truncate the fallocated bit past i_size when we truncate to i_size, which is what this patch does. Thanks,
Signed-off-by: Josef Bacik <jbacik@fb.com> --- mm/shmem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/shmem.c b/mm/shmem.c index de98137..089afde 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -569,7 +569,7 @@ static int shmem_setattr(struct dentry *dentry, struct iattr *attr) i_size_write(inode, newsize); inode->i_ctime = inode->i_mtime = CURRENT_TIME; } - if (newsize < oldsize) { + if (newsize <= oldsize) { loff_t holebegin = round_up(newsize, PAGE_SIZE); unmap_mapping_range(inode->i_mapping, holebegin, 0, 1); shmem_truncate_range(inode, newsize, (loff_t)-1); -- 1.8.3.1
| |