If the node is an inode, its ino in the nat entry should be equal to the ino in its node footer. Otherwise, we drop the file.
Signed-off-by: Sheng Yong <shengyo...@huawei.com> Signed-off-by: Xue Liu <liuxueliu....@huawei.com> --- fsck/fsck.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/fsck/fsck.c b/fsck/fsck.c index c018d3a..312583e 100644 --- a/fsck/fsck.c +++ b/fsck/fsck.c @@ -372,6 +372,11 @@ static int sanity_check_nid(struct f2fs_sb_info *sbi, u32 nid, le32_to_cpu(node_blk->footer.ino)); return -EINVAL; } + if (ntype == TYPE_INODE && ni->ino != node_blk->footer.ino) { + ASSERT_MSG("nid[0x%x] TYPE_INODE nat_entry->ino[0x%x] footer.ino[0x%x]", + nid, ni->ino, le32_to_cpu(node_blk->footer.ino)); + return -EINVAL; + } if (ntype != TYPE_INODE && node_blk->footer.nid == node_blk->footer.ino) { ASSERT_MSG("nid[0x%x] footer.nid[0x%x] footer.ino[0x%x]", -- 1.9.1 ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140 _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel