SIT types can be wrong when active_logs are 2 or 4.
So, let's fix this implicitly.

Signed-off-by: Jaegeuk Kim <jaeg...@kernel.org>
---
 fsck/fsck.c | 14 +++++---------
 1 file changed, 5 insertions(+), 9 deletions(-)

diff --git a/fsck/fsck.c b/fsck/fsck.c
index 09bb26f..a5f9adc 100644
--- a/fsck/fsck.c
+++ b/fsck/fsck.c
@@ -1023,6 +1023,7 @@ int fsck_verify(struct f2fs_sb_info *sbi)
 {
        unsigned int i = 0;
        int ret = 0;
+       int force = 0;
        u32 nr_unref_nid = 0;
        struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
        struct hard_link_node *node = NULL;
@@ -1129,14 +1130,9 @@ int fsck_verify(struct f2fs_sb_info *sbi)
                config.bug_on = 1;
        }
 
-       printf("[FSCK] SIT types                                     ");
-       if (check_sit_types(sbi) == 0) {
-               printf(" [Ok..]\n");
-       } else {
-               printf(" [Fail]\n");
-               ret = EXIT_ERR_CODE;
-               config.bug_on = 1;
-       }
+       printf("[FSCK] fixing SIT types\n");
+       if (check_sit_types(sbi) != 0)
+               force = 1;
 
        printf("[FSCK] other corrupted bugs                          ");
        if (config.bug_on == 0) {
@@ -1147,7 +1143,7 @@ int fsck_verify(struct f2fs_sb_info *sbi)
        }
 
        /* fix global metadata */
-       if (config.bug_on && config.fix_on) {
+       if (force || (config.bug_on && config.fix_on)) {
                fix_nat_entries(sbi);
                rewrite_sit_area_bitmap(sbi);
                fix_checkpoint(sbi);
-- 
2.1.1


------------------------------------------------------------------------------
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to