From: Chao Yu Date: Fri, 24 Jul 2020 10:21:36 +0000 (+0800) Subject: f2fs: compress: fix to update isize when overwriting compressed file X-Git-Tag: v5.9-rc1~69^2~10 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=944dd22ea4475bd11180fd2f431a4a547ca4d8f5;p=thirdparty%2Fkernel%2Flinux.git f2fs: compress: fix to update isize when overwriting compressed file We missed to update isize of compressed file in write_end() with below case: cluster size is 16KB - write 14KB data from offset 0 - overwrite 16KB data from offset 0 Fixes: 4c8ff7095bef ("f2fs: support data compression") Signed-off-by: Chao Yu Signed-off-by: Jaegeuk Kim --- diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c index 3b8409ce24f25..bc89bc987513e 100644 --- a/fs/f2fs/data.c +++ b/fs/f2fs/data.c @@ -3470,6 +3470,10 @@ static int f2fs_write_end(struct file *file, if (f2fs_compressed_file(inode) && fsdata) { f2fs_compress_write_end(inode, fsdata, page->index, copied); f2fs_update_time(F2FS_I_SB(inode), REQ_TIME); + + if (pos + copied > i_size_read(inode) && + !f2fs_verity_in_progress(inode)) + f2fs_i_size_write(inode, pos + copied); return copied; } #endif