Whamcloud - gitweb
e2fsck: fix problem report typo
[tools/e2fsprogs.git] / e2fsck / pass4.c
index 2d55180..c490438 100644 (file)
@@ -99,13 +99,22 @@ void e2fsck_pass4(e2fsck_t ctx)
        struct problem_context  pctx;
        __u16   link_count, link_counted;
        char    *buf = 0;
-       int     group, maxgroup;
+       dgrp_t  group, maxgroup;
 
        init_resource_track(&rtrack, ctx->fs->io);
 
 #ifdef MTRACE
        mtrace_print("Pass 4");
 #endif
+       /*
+        * Since pass4 is mostly CPU bound, start readahead of bitmaps
+        * ahead of pass 5 if we haven't already loaded them.
+        */
+       if (ctx->readahead_kb &&
+           (fs->block_map == NULL || fs->inode_map == NULL))
+               e2fsck_readahead(fs, E2FSCK_READA_BBITMAP |
+                                    E2FSCK_READA_IBITMAP,
+                                0, fs->group_desc_count);
 
        clear_problem_context(&pctx);
 
@@ -133,7 +142,8 @@ void e2fsck_pass4(e2fsck_t ctx)
                                if ((ctx->progress)(ctx, 4, group, maxgroup))
                                        goto errout;
                }
-               if (i == EXT2_BAD_INO ||
+               if (i == quota_type2inum(PRJQUOTA, ctx->fs->super) ||
+                   i == EXT2_BAD_INO ||
                    (i > EXT2_ROOT_INO && i < EXT2_FIRST_INODE(fs->super)))
                        continue;
                if (!(ext2fs_test_inode_bitmap2(ctx->inode_used_map, i)) ||