ext4: only call ext4_truncate when size <= isize
authorJosef Bacik <jbacik@fb.com>
Mon, 22 Jun 2015 04:31:26 +0000 (00:31 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 22 Jun 2015 04:31:26 +0000 (00:31 -0400)
commit3da40c7b089810ac9cf2bb1e59633f619f3a7312
treee1649f9e7cbe2ae93c7e1cd82ae21fbdef8342a6
parent04e22412f420ade46dbf792a10e7f0d26ae55359
ext4: only call ext4_truncate when size <= isize

At LSF we decided that if we truncate up from isize we shouldn't trim
fallocated blocks that were fallocated with KEEP_SIZE and are past the
new i_size.  This patch fixes ext4 to do this.

[ Completely reworked patch so that i_disksize would actually get set
  when truncating up.  Also reworked the code for handling truncate so
  that it's easier to handle. -- tytso ]

Signed-off-by: Josef Bacik <jbacik@fb.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Lukas Czerner <lczerner@redhat.com>
fs/ext4/inode.c