fsck.f2fs: check nat_bits separately from bug_on

It checks nat_bits separately, and enable it seamlessly.

Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
diff --git a/fsck/fsck.c b/fsck/fsck.c
index 3ad05fb..97eea21 100644
--- a/fsck/fsck.c
+++ b/fsck/fsck.c
@@ -2676,7 +2676,7 @@
 	if (force || (c.fix_on && !c.ro)) {
 		struct f2fs_checkpoint *cp = F2FS_CKPT(sbi);
 
-		if (force || c.bug_on) {
+		if (force || c.bug_on || c.bug_nat_bits) {
 			/* flush nats to write_nit_bits below */
 			flush_journal_entries(sbi);
 			fix_hard_links(sbi);
diff --git a/fsck/mount.c b/fsck/mount.c
index d853fcf..3966525 100644
--- a/fsck/mount.c
+++ b/fsck/mount.c
@@ -1242,7 +1242,7 @@
 	if (!err) {
 		MSG(0, "Info: Checked valid nat_bits in checkpoint\n");
 	} else {
-		c.bug_on = 1;
+		c.bug_nat_bits = 1;
 		MSG(0, "Info: Corrupted valid nat_bits in checkpoint\n");
 	}
 	return err;
diff --git a/include/f2fs_fs.h b/include/f2fs_fs.h
index 6eebb3a..a730688 100644
--- a/include/f2fs_fs.h
+++ b/include/f2fs_fs.h
@@ -372,6 +372,7 @@
 	int force;
 	int defset;
 	int bug_on;
+	int bug_nat_bits;
 	int alloc_failed;
 	int auto_fix;
 	int quota_fix;