Home | History | Annotate | Download | only in e2fsck

Lines Matching refs:ctx

27 static int disconnect_inode(e2fsck_t ctx, ext2_ino_t i,
30 ext2_filsys fs = ctx->fs;
36 e2fsck_read_inode_full(ctx, i, inode,EXT2_INODE_SIZE(fs->super),
40 e2fsck_read_inode(ctx, i, inode, "pass4: disconnect_inode");
57 if (fix_problem(ctx, PR_4_ZERO_LEN_INODE, &pctx)) {
58 e2fsck_clear_inode(ctx, i, inode, 0,
63 e2fsck_read_bitmaps(ctx);
73 if (fix_problem(ctx, PR_4_UNATTACHED_INODE, &pctx)) {
74 if (e2fsck_reconnect_file(ctx, i))
89 void e2fsck_pass4(e2fsck_t ctx)
91 ext2_filsys fs = ctx->fs;
102 init_resource_track(&rtrack, ctx->fs->io);
110 if (!(ctx->options & E2F_OPT_PREEN))
111 fix_problem(ctx, PR_4_PASS_HEADER, &pctx);
115 if (ctx->progress)
116 if ((ctx->progress)(ctx, 4, 0, maxgroup))
119 inode = e2fsck_allocate_memory(ctx, EXT2_INODE_SIZE(fs->super),
124 if (ctx->flags & E2F_FLAG_SIGNAL_MASK)
128 if (ctx->progress)
129 if ((ctx->progress)(ctx, 4, group, maxgroup))
135 if (!(ext2fs_test_inode_bitmap(ctx->inode_used_map, i)) ||
136 (ctx->inode_imagic_map &&
137 ext2fs_test_inode_bitmap(ctx->inode_imagic_map, i)) ||
138 (ctx->inode_bb_map &&
139 ext2fs_test_inode_bitmap(ctx->inode_bb_map, i)))
141 ext2fs_icount_fetch(ctx->inode_link_info, i, &link_count);
142 ext2fs_icount_fetch(ctx->inode_count, i, &link_counted);
145 buf = e2fsck_allocate_memory(ctx,
147 if (e2fsck_process_bad_inode(ctx, 0, i, buf))
149 if (disconnect_inode(ctx, i, inode))
151 ext2fs_icount_fetch(ctx->inode_link_info, i,
153 ext2fs_icount_fetch(ctx->inode_count, i,
156 if (ext2fs_test_inode_bitmap(ctx->inode_dir_map, i) &&
160 e2fsck_read_inode(ctx, i, inode, "pass4");
165 fix_problem(ctx,
173 link_count == 1 && !(ctx->options & E2F_OPT_NO)) ||
174 (fix_problem(ctx, PR_4_BAD_REF_COUNT, &pctx))) {
176 e2fsck_write_inode(ctx, i, inode, "pass4");
180 ext2fs_free_icount(ctx->inode_link_info); ctx->inode_link_info = 0;
181 ext2fs_free_icount(ctx->inode_count); ctx->inode_count = 0;
182 ext2fs_free_inode_bitmap(ctx->inode_bb_map);
183 ctx->inode_bb_map = 0;
184 ext2fs_free_inode_bitmap(ctx->inode_imagic_map);
185 ctx->inode_imagic_map = 0;
191 print_resource_track(ctx, _("Pass 4"), &rtrack, ctx->fs->io);