Lines Matching full:cd
134 struct check_dir_struct cd; in e2fsck_pass2() local
147 clear_problem_context(&cd.pctx); in e2fsck_pass2()
155 fix_problem(ctx, PR_2_PASS_HEADER, &cd.pctx); in e2fsck_pass2()
157 cd.pctx.errcode = e2fsck_setup_icount(ctx, "inode_count", in e2fsck_pass2()
160 if (cd.pctx.errcode) { in e2fsck_pass2()
161 fix_problem(ctx, PR_2_ALLOCATE_ICOUNT, &cd.pctx); in e2fsck_pass2()
175 cd.buf = buf; in e2fsck_pass2()
176 cd.ctx = ctx; in e2fsck_pass2()
177 cd.count = 1; in e2fsck_pass2()
178 cd.max = ext2fs_dblist_count2(fs->dblist); in e2fsck_pass2()
179 cd.list_offset = 0; in e2fsck_pass2()
180 cd.ra_entries = ctx->readahead_kb * 1024 / ctx->fs->blocksize; in e2fsck_pass2()
181 cd.next_ra_off = 0; in e2fsck_pass2()
184 (void) (ctx->progress)(ctx, 2, 0, cd.max); in e2fsck_pass2()
189 check_dir_func = cd.ra_entries ? check_dir_block2 : check_dir_block; in e2fsck_pass2()
190 cd.pctx.errcode = ext2fs_dblist_iterate2(fs->dblist, check_dir_func, in e2fsck_pass2()
191 &cd); in e2fsck_pass2()
200 if (cd.pctx.errcode) { in e2fsck_pass2()
201 fix_problem(ctx, PR_2_DBLIST_ITERATE, &cd.pctx); in e2fsck_pass2()
637 struct check_dir_struct *cd, in parse_int_node() argument
667 (e2fsck_dir_will_be_rehashed(cd->ctx, cd->pctx.ino) || in parse_int_node()
668 fix_problem(cd->ctx, PR_2_HTREE_ROOT_CSUM_INVALID, in parse_int_node()
669 &cd->pctx))) in parse_int_node()
675 (e2fsck_dir_will_be_rehashed(cd->ctx, cd->pctx.ino) || in parse_int_node()
676 fix_problem(cd->ctx, PR_2_HTREE_NODE_CSUM_INVALID, in parse_int_node()
677 &cd->pctx))) in parse_int_node()
697 cd->pctx.num = ext2fs_le16_to_cpu(limit->limit); in parse_int_node()
698 if (fix_problem(cd->ctx, PR_2_HTREE_BAD_LIMIT, &cd->pctx)) in parse_int_node()
702 cd->pctx.num = count; in parse_int_node()
703 if (fix_problem(cd->ctx, PR_2_HTREE_BAD_COUNT, &cd->pctx)) in parse_int_node()
718 cd->pctx.blk = blk; in parse_int_node()
719 if (fix_problem(cd->ctx, PR_2_HTREE_BADBLK, in parse_int_node()
720 &cd->pctx)) in parse_int_node()
725 fix_problem(cd->ctx, PR_2_HTREE_HASH_ORDER, &cd->pctx)) in parse_int_node()
764 clear_htree(cd->ctx, cd->pctx.ino); in parse_int_node()
766 e2fsck_rehash_dir_later(cd->ctx, cd->pctx.ino); in parse_int_node()
1021 struct check_dir_struct *cd = priv_data; in check_dir_block2() local
1023 if (cd->ra_entries && cd->list_offset >= cd->next_ra_off) { in check_dir_block2()
1027 cd->list_offset + cd->ra_entries / 8, in check_dir_block2()
1028 cd->ra_entries); in check_dir_block2()
1030 cd->ra_entries = 0; in check_dir_block2()
1031 cd->next_ra_off = cd->list_offset + (cd->ra_entries * 7 / 8); in check_dir_block2()
1035 cd->list_offset++; in check_dir_block2()
1055 struct check_dir_struct *cd; in check_dir_block() local
1078 cd = (struct check_dir_struct *) priv_data; in check_dir_block()
1079 ibuf = buf = cd->buf; in check_dir_block()
1080 ctx = cd->ctx; in check_dir_block()
1092 if (ctx->progress && (ctx->progress)(ctx, 2, cd->count++, cd->max)) in check_dir_block()
1110 cd->pctx.ino = ino; in check_dir_block()
1111 cd->pctx.blk = block_nr; in check_dir_block()
1112 cd->pctx.blkcount = db->blockcnt; in check_dir_block()
1113 cd->pctx.ino2 = 0; in check_dir_block()
1114 cd->pctx.dirent = 0; in check_dir_block()
1115 cd->pctx.num = 0; in check_dir_block()
1135 if (allocate_dir_block(ctx, db, buf, &cd->pctx)) in check_dir_block()
1159 cd->pctx.errcode = ext2fs_inline_data_get(fs, ino, 0, buf, 0); in check_dir_block()
1160 if (cd->pctx.errcode) in check_dir_block()
1166 cd->pctx.errcode = ext2fs_dirent_swab_in2(fs, in check_dir_block()
1170 if (cd->pctx.errcode) in check_dir_block()
1176 cd->pctx.errcode = ext2fs_dirent_swab_in2(fs, in check_dir_block()
1182 cd->pctx.errcode = ext2fs_read_dir_block4(fs, block_nr, in check_dir_block()
1200 if (cd->pctx.errcode == EXT2_ET_DIR_CORRUPTED) in check_dir_block()
1201 cd->pctx.errcode = 0; /* We'll handle this ourselves */ in check_dir_block()
1202 else if (cd->pctx.errcode == EXT2_ET_DIR_CSUM_INVALID) { in check_dir_block()
1203 cd->pctx.errcode = 0; /* We'll handle this ourselves */ in check_dir_block()
1206 if (cd->pctx.errcode) { in check_dir_block()
1208 if (!fix_problem(ctx, PR_2_READ_DIRBLOCK, &cd->pctx)) { in check_dir_block()
1250 fix_problem(ctx, PR_2_HTREE_BAD_ROOT, &cd->pctx)) { in check_dir_block()
1280 if (!fix_problem(cd->ctx, PR_2_LEAF_NODE_MISSING_CSUM, in check_dir_block()
1281 &cd->pctx)) in check_dir_block()
1338 cd->pctx.dirent = dirent; in check_dir_block()
1339 cd->pctx.num = offset; in check_dir_block()
1346 &cd->pctx)) { in check_dir_block()
1416 cd->pctx.dirent = dirent; in check_dir_block()
1417 cd->pctx.num = offset; in check_dir_block()
1421 if (check_dot(ctx, dirent, ino, &cd->pctx)) in check_dir_block()
1424 ret = check_dotdot(ctx, dirent, ino, &cd->pctx); in check_dir_block()
1431 if (fix_problem(ctx, PR_2_LINK_DOT, &cd->pctx)) { in check_dir_block()
1493 if (fix_problem(ctx, problem, &cd->pctx)) { in check_dir_block()
1528 cd->pctx.group = group; in check_dir_block()
1541 &cd->pctx)){ in check_dir_block()
1554 if (fix_problem(ctx, PR_2_INOREF_IN_UNUSED, &cd->pctx)){ in check_dir_block()
1580 if (fix_problem(ctx, problem, &cd->pctx)) { in check_dir_block()
1591 if (check_filetype(ctx, dirent, ino, &cd->pctx)) in check_dir_block()
1599 &cd->pctx)) { in check_dir_block()
1606 if (encoded_check_name(ctx, dirent, &cd->pctx)) in check_dir_block()
1610 if (check_name(ctx, dirent, &cd->pctx)) in check_dir_block()
1647 cd->pctx.ino = dirent->inode; in check_dir_block()
1648 fix_problem(ctx, PR_2_NO_DIRINFO, &cd->pctx); in check_dir_block()
1652 cd->pctx.ino2 = subdir_parent; in check_dir_block()
1654 &cd->pctx)) { in check_dir_block()
1659 cd->pctx.ino2 = 0; in check_dir_block()
1715 cd->pctx.dir = cd->pctx.ino; in check_dir_block()
1718 parse_int_node(fs, db, cd, dx_dir, buf, failed_csum); in check_dir_block()
1722 cd->pctx.num = rec_len + offset - max_block_size; in check_dir_block()
1723 if (fix_problem(ctx, PR_2_FINAL_RECLEN, &cd->pctx)) { in check_dir_block()
1724 dirent->rec_len = cd->pctx.num; in check_dir_block()
1752 cd->pctx.errcode = ext2fs_dirent_swab_out2(fs, in check_dir_block()
1757 if (cd->pctx.errcode) in check_dir_block()
1763 cd->pctx.errcode = ext2fs_dirent_swab_out2(fs, in check_dir_block()
1769 if (cd->pctx.errcode && in check_dir_block()
1770 !fix_problem(ctx, PR_2_WRITE_DIRBLOCK, &cd->pctx)) in check_dir_block()
1773 cd->pctx.errcode = in check_dir_block()
1777 cd->pctx.errcode = ext2fs_write_dir_block4(fs, block_nr, in check_dir_block()
1784 if (cd->pctx.errcode) { in check_dir_block()
1786 &cd->pctx)) in check_dir_block()
1796 &cd->pctx)) in check_dir_block()