mkfs.f2fs: fix wrong curseg check
authorJaegeuk Kim <jaegeuk@kernel.org>
Fri, 25 Aug 2017 02:33:10 +0000 (19:33 -0700)
committerJaegeuk Kim <jaegeuk@kernel.org>
Tue, 5 Sep 2017 17:56:40 +0000 (10:56 -0700)
We should avoid i==j, otherwise we always assign 0~5 segments.

Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
mkfs/f2fs_format.c

index b379e80..b57f925 100644 (file)
@@ -120,14 +120,18 @@ next:
 static void verify_cur_segs(void)
 {
        int i, j;
+       int reorder = 0;
 
        for (i = 0; i < NR_CURSEG_TYPE; i++) {
-               for (j = 0; j < NR_CURSEG_TYPE; j++)
-                       if (c.cur_seg[i] == c.cur_seg[j])
+               for (j = i + 1; j < NR_CURSEG_TYPE; j++) {
+                       if (c.cur_seg[i] == c.cur_seg[j]) {
+                               reorder = 1;
                                break;
+                       }
+               }
        }
 
-       if (i == NR_CURSEG_TYPE && j == NR_CURSEG_TYPE)
+       if (!reorder)
                return;
 
        c.cur_seg[0] = 0;