Home | History | Annotate | Download | only in e2fsck

Lines Matching full:ctx

16 static void check_block_bitmaps(e2fsck_t ctx);
17 static void check_inode_bitmaps(e2fsck_t ctx);
18 static void check_inode_end(e2fsck_t ctx);
19 static void check_block_end(e2fsck_t ctx);
21 void e2fsck_pass5(e2fsck_t ctx)
32 init_resource_track(&rtrack, ctx->fs->io);
35 if (!(ctx->options & E2F_OPT_PREEN))
36 fix_problem(ctx, PR_5_PASS_HEADER, &pctx);
38 if (ctx->progress)
39 if ((ctx->progress)(ctx, 5, 0, ctx->fs->group_desc_count*2))
42 e2fsck_read_bitmaps(ctx);
44 check_block_bitmaps(ctx);
45 if (ctx->flags & E2F_FLAG_SIGNAL_MASK)
47 check_inode_bitmaps(ctx);
48 if (ctx->flags & E2F_FLAG_SIGNAL_MASK)
50 check_inode_end(ctx);
51 if (ctx->flags & E2F_FLAG_SIGNAL_MASK)
53 check_block_end(ctx);
54 if (ctx->flags & E2F_FLAG_SIGNAL_MASK)
57 ext2fs_free_inode_bitmap(ctx->inode_used_map);
58 ctx->inode_used_map = 0;
59 ext2fs_free_inode_bitmap(ctx->inode_dir_map);
60 ctx->inode_dir_map = 0;
61 ext2fs_free_block_bitmap(ctx->block_found_map);
62 ctx->block_found_map = 0;
64 print_resource_track(ctx, _("Pass 5"), &rtrack, ctx->fs->io);
69 static void print_bitmap_problem(e2fsck_t ctx, int problem,
98 fix_problem(ctx, problem, pctx);
103 static void check_block_bitmaps(e2fsck_t ctx)
105 ext2_filsys fs = ctx->fs;
120 free_array = (int *) e2fsck_allocate_memory(ctx,
124 ext2fs_get_block_bitmap_start(ctx->block_found_map)) ||
126 ext2fs_get_block_bitmap_end(ctx->block_found_map))) {
130 pctx.ino = ext2fs_get_block_bitmap_start(ctx->block_found_map);
131 pctx.ino2 = ext2fs_get_block_bitmap_end(ctx->block_found_map);
132 fix_problem(ctx, PR_5_BMAP_ENDPOINTS, &pctx);
134 ctx->flags |= E2F_FLAG_ABORT; /* fatal */
147 fix_problem(ctx, PR_5_BMAP_ENDPOINTS, &pctx);
149 ctx->flags |= E2F_FLAG_ABORT; /* fatal */
165 actual = ext2fs_fast_test_block_bitmap(ctx->block_found_map, i);
221 if (fix_problem(ctx, PR_5_BLOCK_UNINIT,&pctx2)){
236 print_bitmap_problem(ctx, save_problem, &pctx);
241 ctx->flags |= E2F_FLAG_PROG_SUPPRESS;
257 if (ctx->progress)
258 if ((ctx->progress)(ctx, 5, group,
269 print_bitmap_problem(ctx, save_problem, &pctx);
271 fixit = end_problem_latch(ctx, PR_LATCH_BBITMAP);
274 ctx->flags &= ~E2F_FLAG_PROG_SUPPRESS;
278 retval = ext2fs_copy_bitmap(ctx->block_found_map,
282 fix_problem(ctx, PR_5_COPY_BBITMAP_ERROR, &pctx);
283 ctx->flags |= E2F_FLAG_ABORT;
302 if (fix_problem(ctx, PR_5_FREE_BLOCK_COUNT_GROUP,
316 if (fix_problem(ctx, PR_5_FREE_BLOCK_COUNT, &pctx)) {
326 static void check_inode_bitmaps(e2fsck_t ctx)
328 ext2_filsys fs = ctx->fs;
345 free_array = (int *) e2fsck_allocate_memory(ctx,
348 dir_array = (int *) e2fsck_allocate_memory(ctx,
351 if ((1 < ext2fs_get_inode_bitmap_start(ctx->inode_used_map)) ||
353 ext2fs_get_inode_bitmap_end(ctx->inode_used_map))) {
357 pctx.ino = ext2fs_get_inode_bitmap_start(ctx->inode_used_map);
358 pctx.ino2 = ext2fs_get_inode_bitmap_end(ctx->inode_used_map);
359 fix_problem(ctx, PR_5_BMAP_ENDPOINTS, &pctx);
361 ctx->flags |= E2F_FLAG_ABORT; /* fatal */
372 fix_problem(ctx, PR_5_BMAP_ENDPOINTS, &pctx);
374 ctx->flags |= E2F_FLAG_ABORT; /* fatal */
390 actual = ext2fs_fast_test_inode_bitmap(ctx->inode_used_map, i);
417 if (fix_problem(ctx, PR_5_INODE_UNINIT,&pctx2)){
432 print_bitmap_problem(ctx, save_problem, &pctx);
437 ctx->flags |= E2F_FLAG_PROG_SUPPRESS;
442 if (ext2fs_test_inode_bitmap(ctx->inode_dir_map, i))
458 if (ctx->progress)
459 if ((ctx->progress)(ctx, 5,
471 print_bitmap_problem(ctx, save_problem, &pctx);
474 fixit = end_problem_latch(ctx, PR_LATCH_IBITMAP);
477 ctx->flags &= ~E2F_FLAG_PROG_SUPPRESS;
481 retval = ext2fs_copy_bitmap(ctx->inode_used_map,
485 fix_problem(ctx, PR_5_COPY_IBITMAP_ERROR, &pctx);
486 ctx->flags |= E2F_FLAG_ABORT;
506 if (fix_problem(ctx, PR_5_FREE_INODE_COUNT_GROUP,
519 if (fix_problem(ctx, PR_5_FREE_DIR_COUNT_GROUP,
533 if (fix_problem(ctx, PR_5_FREE_INODE_COUNT, &pctx)) {
544 static void check_inode_end(e2fsck_t ctx)
546 ext2_filsys fs = ctx->fs;
557 fix_problem(ctx, PR_5_FUDGE_BITMAP_ERROR, &pctx);
558 ctx->flags |= E2F_FLAG_ABORT; /* fatal */
567 if (fix_problem(ctx, PR_5_INODE_BMAP_PADDING, &pctx)) {
582 fix_problem(ctx, PR_5_FUDGE_BITMAP_ERROR, &pctx);
583 ctx->flags |= E2F_FLAG_ABORT; /* fatal */
588 static void check_block_end(e2fsck_t ctx)
590 ext2_filsys fs = ctx->fs;
602 fix_problem(ctx, PR_5_FUDGE_BITMAP_ERROR, &pctx);
603 ctx->flags |= E2F_FLAG_ABORT; /* fatal */
612 ctx, PR_5_BLOCK_BMAP_PADDING, &pctx)) {
627 fix_problem(ctx, PR_5_FUDGE_BITMAP_ERROR, &pctx);
628 ctx->flags |= E2F_FLAG_ABORT; /* fatal */