return -EINVAL;
}
+ if (fsck->nat_valid_inode_cnt != le32_to_cpu(cp->valid_inode_count)) {
+ ASSERT_MSG("valid inode does not match: nat_valid_inode_cnt %u,"
+ " valid_inode_count %u",
+ fsck->nat_valid_inode_cnt,
+ le32_to_cpu(cp->valid_inode_count));
+ return -EINVAL;
+ }
+
return 0;
}
if (lookup_nat_in_journal(sbi, nid + i,
&raw_nat) >= 0) {
node_info_from_raw_nat(&ni, &raw_nat);
+ if (ni.ino == (nid + i) && ni.blk_addr != 0) {
+ fsck->nat_valid_inode_cnt++;
+ DBG(3, "ino[0x%8x] maybe is inode\n",
+ ni.ino);
+ }
if (ni.blk_addr != 0x0) {
f2fs_set_bit(nid + i,
fsck->nat_area_bitmap);
} else {
node_info_from_raw_nat(&ni,
&nat_block->entries[i]);
+ if (ni.ino == (nid + i) && ni.blk_addr != 0) {
+ fsck->nat_valid_inode_cnt++;
+ DBG(3, "ino[0x%8x] maybe is inode\n",
+ ni.ino);
+ }
if (ni.blk_addr == 0)
continue;
if (nid + i == 0) {