"NAT_JOURNAL_ENTRIES(%lu)\n",
nats_in_cursum(journal), NAT_JOURNAL_ENTRIES);
journal->n_nats = cpu_to_le16(NAT_JOURNAL_ENTRIES);
+ c.fix_on = 1;
}
for (i = 0; i < nats_in_cursum(journal); i++) {
if (!IS_VALID_BLK_ADDR(sbi, addr)) {
MSG(0, "\tError: f2fs_init_nid_bitmap: addr(%u) is invalid!!!\n", addr);
journal->n_nats = cpu_to_le16(i);
+ c.fix_on = 1;
continue;
}
if (!IS_VALID_NID(sbi, nid)) {
MSG(0, "\tError: f2fs_init_nid_bitmap: nid(%u) is invalid!!!\n", nid);
journal->n_nats = cpu_to_le16(i);
+ c.fix_on = 1;
continue;
}
if (addr != NULL_ADDR)
c.fix_on = 1;
}
- if (c.auto_fix || c.preen_mode) {
- u32 flag = get_cp(ckpt_flags);
-
- if (flag & CP_FSCK_FLAG ||
- flag & CP_QUOTA_NEED_FSCK_FLAG ||
- (exist_qf_ino(sb) && (flag & CP_ERROR_FLAG))) {
- c.fix_on = 1;
- } else if (!c.preen_mode) {
- print_cp_state(flag);
- return 1;
- }
- }
-
c.bug_on = 0;
tune_sb_features(sbi);
return -1;
}
+ if (!c.fix_on && (c.auto_fix || c.preen_mode)) {
+ u32 flag = get_cp(ckpt_flags);
+
+ if (flag & CP_FSCK_FLAG ||
+ flag & CP_QUOTA_NEED_FSCK_FLAG ||
+ (exist_qf_ino(sb) && (flag & CP_ERROR_FLAG))) {
+ c.fix_on = 1;
+ } else if (!c.preen_mode) {
+ print_cp_state(flag);
+ return 1;
+ }
+ }
+
/* Check nat_bits */
if (c.func == FSCK && is_set_ckpt_flags(cp, CP_NAT_BITS_FLAG)) {
if (check_nat_bits(sbi, sb, cp) && c.fix_on)