Commit 4d8ec912 authored by Jaegeuk Kim's avatar Jaegeuk Kim
Browse files

f2fs: should not truncate blocks during roll-forward recovery



If the file preallocated blocks and fsync'ed, we should not truncate them during
roll-forward recovery which will recover i_size correctly back.

Fixes: d4dd19ec ("f2fs: do not expose unwritten blocks to user by DIO")
Cc: <stable@vger.kernel.org> # 5.17+
Signed-off-by: default avatarJaegeuk Kim <jaegeuk@kernel.org>
parent 27275f18
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -550,7 +550,8 @@ struct inode *f2fs_iget(struct super_block *sb, unsigned long ino)
	}
	f2fs_set_inode_flags(inode);

	if (file_should_truncate(inode)) {
	if (file_should_truncate(inode) &&
			!is_sbi_flag_set(sbi, SBI_POR_DOING)) {
		ret = f2fs_truncate(inode);
		if (ret)
			goto bad_inode;