UPSTREAM: 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. Bug: 223740163 Fixes: d4dd19ec1ea0 ("f2fs: do not expose unwritten blocks to user by DIO") Cc: <stable@vger.kernel.org> # 5.17+ Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org> (cherry picked from commit 4d8ec91208196e0e19195f1e7d6be9de5873f242) Change-Id: I5e974a564667115455b53a18f31902a875d86dee
This commit is contained in:
parent
d7f3794b34
commit
c978fa20fd
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue