The first nat entry must be null. If it is corrupted, we set its bit in
nat_area_bitmap, without increasing valid_nat_entry_cnt, fsck_verify will
nullify it at last.

Reported-by: Cheng Yinchao <chengyinc...@huawei.com>
Signed-off-by: Sheng Yong <shengyo...@huawei.com>
---
 fsck/mount.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/fsck/mount.c b/fsck/mount.c
index 4c807f9..ec040c8 100644
--- a/fsck/mount.c
+++ b/fsck/mount.c
@@ -1683,7 +1683,18 @@ void build_nat_area_bitmap(struct f2fs_sb_info *sbi)
                                                &nat_block->entries[i]);
                                if (ni.blk_addr == 0)
                                        continue;
-                               ASSERT(nid + i != 0x0);
+                               if (nid + i == 0) {
+                                       /*
+                                        * nat entry [0] must be null.  If
+                                        * it is corrupted, set its bit in
+                                        * nat_area_bitmap, fsck_verify will
+                                        * nullify it
+                                        */
+                                       ASSERT_MSG("Invalid nat entry[0]: 
blk_addr[0x%x]\n",
+                                               ni.blk_addr);
+                                       config.fix_on = 1;
+                                       fsck->chk.valid_nat_entry_cnt--;
+                               }
 
                                DBG(3, "nid[0x%8x] addr[0x%16x] ino[0x%8x]\n",
                                        nid + i, ni.blk_addr, ni.ino);
-- 
2.7.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=272487151&iu=/4140
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to