[PATCH] f2fs: don't call block truncation for aliased file

From: Jaegeuk Kim
Date: Mon Jan 06 2025 - 21:32:56 EST


This patch should avoid the below warning which does not corrupt the metadata
tho.

[ 51.508120][ T253] F2FS-fs (dm-59): access invalid blkaddr:36
[ 51.508156][ T253] __f2fs_is_valid_blkaddr+0x330/0x384
[ 51.508162][ T253] f2fs_is_valid_blkaddr_raw+0x10/0x24
[ 51.508163][ T253] f2fs_truncate_data_blocks_range+0x1ec/0x438
[ 51.508177][ T253] f2fs_remove_inode_page+0x8c/0x148
[ 51.508194][ T253] f2fs_evict_inode+0x230/0x76c

Fixes: 128d333f0dff ("f2fs: introduce device aliasing file")
Signed-off-by: Jaegeuk Kim <jaegeuk@xxxxxxxxxx>
---
fs/f2fs/node.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
index c04ee1a7ce57..06313e1eb884 100644
--- a/fs/f2fs/node.c
+++ b/fs/f2fs/node.c
@@ -1274,6 +1274,12 @@ int f2fs_remove_inode_page(struct inode *inode)
return err;
}

+ /* The aliase file must be truncated successfully. */
+ if (unlikely(IS_DEVICE_ALIASING(inode))) {
+ f2fs_put_dnode(&dn);
+ return 0;
+ }
+
/* remove potential inline_data blocks */
if (S_ISREG(inode->i_mode) || S_ISDIR(inode->i_mode) ||
S_ISLNK(inode->i_mode))
--
2.47.1.613.gc27f4b7a9f-goog