Home | History | Annotate | Download | only in e2fsck

Lines Matching refs:fs

41 	init_resource_track(&rtrack, ctx->fs->io);
48 if ((ctx->progress)(ctx, 5, 0, ctx->fs->group_desc_count*2))
73 print_resource_track(ctx, _("Pass 5"), &rtrack, ctx->fs->io);
79 ext2_filsys fs = ctx->fs;
87 if (ext2fs_test_changed(fs))
91 (io_channel_discard(fs->io, start, count)))
104 ext2_filsys fs = ctx->fs;
110 if ((start < 1) || (start > EXT2_INODES_PER_GROUP(fs->super))) {
128 !io_channel_discard_zeroes_data(fs->io))
142 EXT2_INODES_PER_BLOCK(fs->super));
143 count -= (blk * EXT2_INODES_PER_BLOCK(fs->super) - start);
144 blk += ext2fs_inode_table_loc(fs, group);
145 num = count / EXT2_INODES_PER_BLOCK(fs->super);
188 #define B2C(x) EXT2FS_B2C(fs, (x))
195 ext2_filsys fs = ctx->fs;
201 blk64_t first_free = ext2fs_blocks_count(fs->super);
217 actual_buf = (char *) e2fsck_allocate_memory(ctx, fs->blocksize,
219 bitmap_buf = (char *) e2fsck_allocate_memory(ctx, fs->blocksize,
224 fs->group_desc_count * sizeof(unsigned int), "free block count array");
226 if ((B2C(fs->super->s_first_data_block) <
228 (B2C(ext2fs_blocks_count(fs->super)-1) >
231 pctx.blk = B2C(fs->super->s_first_data_block);
232 pctx.blk2 = B2C(ext2fs_blocks_count(fs->super) - 1);
241 if ((B2C(fs->super->s_first_data_block) <
242 ext2fs_get_block_bitmap_start2(fs->block_map)) ||
243 (B2C(ext2fs_blocks_count(fs->super)-1) >
244 ext2fs_get_block_bitmap_end2(fs->block_map))) {
246 pctx.blk = B2C(fs->super->s_first_data_block);
247 pctx.blk2 = B2C(ext2fs_blocks_count(fs->super) - 1);
248 pctx.ino = ext2fs_get_block_bitmap_start2(fs->block_map);
249 pctx.ino2 = ext2fs_get_block_bitmap_end2(fs->block_map);
256 csum_flag = EXT2_HAS_RO_COMPAT_FEATURE(fs->super,
263 (ext2fs_bg_flags_test(fs, group, EXT2_BG_BLOCK_UNINIT)))
265 for (i = B2C(fs->super->s_first_data_block);
266 i < ext2fs_blocks_count(fs->super);
267 i += EXT2FS_CLUSTER_RATIO(fs)) {
269 B2C(fs->super->s_first_data_block)) %
270 fs->super->s_clusters_per_group == 0;
271 int n, nbytes = fs->super->s_clusters_per_group / 8;
286 (group == (int)fs->group_desc_count - 1) ||
291 B2C(i), fs->super->s_clusters_per_group,
295 if (ext2fs_bg_flags_test(fs, group, EXT2_BG_BLOCK_UNINIT))
298 retval = ext2fs_get_block_bitmap_range2(fs->block_map,
299 B2C(i), fs->super->s_clusters_per_group,
307 group_free = fs->super->s_clusters_per_group - n;
309 i += EXT2FS_C2B(fs, fs->super->s_clusters_per_group - 1);
318 ext2fs_super_and_bgd_loc2(fs, group, &super_blk,
321 if (fs->super->s_feature_incompat &
324 fs->super->s_first_meta_bg;
326 old_desc_blocks = fs->desc_blocks +
327 fs->super->s_reserved_gdt_blocks;
330 cmp_block = fs->super->s_clusters_per_group;
331 if (group == (int)fs->group_desc_count - 1)
332 cmp_block = EXT2FS_NUM_B2C(fs,
333 ext2fs_group_blocks_count(fs, group));
342 EQ_CLSTR(i, ext2fs_block_bitmap_loc(fs, group)) ||
343 EQ_CLSTR(i, ext2fs_inode_bitmap_loc(fs, group)) ||
344 (GE_CLSTR(i, ext2fs_inode_table_loc(fs, group)) &&
345 LE_CLSTR(i, (ext2fs_inode_table_loc(fs, group) +
346 fs->inode_blocks_per_group - 1)))) {
351 } else if ((EXT2FS_B2C(fs, i) - count -
352 EXT2FS_B2C(fs, fs->super->s_first_data_block)) %
353 fs->super->s_clusters_per_group == 0) {
361 EXT2FS_B2C(fs, i),
367 blocks = fs->super->s_clusters_per_group - 1;
374 i += EXT2FS_C2B(fs, cmp_block - 1);
382 bitmap = ext2fs_fast_test_block_bitmap2(fs->block_map, i);
403 ext2fs_bg_flags_clear(fs, group, EXT2_BG_BLOCK_UNINIT);
413 (pctx.blk2 == i - EXT2FS_CLUSTER_RATIO(fs)))
414 pctx.blk2 += EXT2FS_CLUSTER_RATIO(fs);
439 first_free = ext2fs_blocks_count(fs->super);
442 if ((blocks == fs->super->s_clusters_per_group) ||
443 (EXT2FS_B2C(fs, i) ==
444 EXT2FS_B2C(fs, ext2fs_blocks_count(fs->super)-1))) {
453 first_free = ext2fs_blocks_count(fs->super);
462 fs->group_desc_count*2))
465 (i != ext2fs_blocks_count(fs->super)-1) &&
466 ext2fs_bg_flags_test(fs, group,
480 ext2fs_free_block_bitmap(fs->block_map);
482 &fs->block_map);
489 ext2fs_set_bitmap_padding(fs->block_map);
490 ext2fs_mark_bb_dirty(fs);
494 memset(free_array, 0, fs->group_desc_count * sizeof(int));
498 ext2fs_unmark_valid(fs);
500 for (g = 0; g < fs->group_desc_count; g++) {
501 if (free_array[g] != ext2fs_bg_free_blocks_count(fs, g)) {
503 pctx.blk = ext2fs_bg_free_blocks_count(fs, g);
508 ext2fs_bg_free_blocks_count_set(fs, g, free_array[g]);
509 ext2fs_mark_super_dirty(fs);
511 ext2fs_unmark_valid(fs);
514 free_blocks = EXT2FS_C2B(fs, free_blocks);
515 if (free_blocks != ext2fs_free_blocks_count(fs->super)) {
517 pctx.blk = ext2fs_free_blocks_count(fs->super);
521 ext2fs_free_blocks_count_set(fs->super, free_blocks);
522 ext2fs_mark_super_dirty(fs);
533 ext2_filsys fs = ctx->fs;
550 ext2_ino_t first_free = fs->super->s_inodes_per_group + 1;
554 fs->group_desc_count * sizeof(ext2_ino_t), "free inode count array");
557 fs->group_desc_count * sizeof(ext2_ino_t), "directory count array");
560 (fs->super->s_inodes_count >
564 pctx.blk2 = fs->super->s_inodes_count;
572 if ((1 < ext2fs_get_inode_bitmap_start2(fs->inode_map)) ||
573 (fs->super->s_inodes_count >
574 ext2fs_get_inode_bitmap_end2(fs
577 pctx.blk2 = fs->super->s_inodes_count;
578 pctx.ino = ext2fs_get_inode_bitmap_start2(fs->inode_map);
579 pctx.ino2 = ext2fs_get_inode_bitmap_end2(fs->inode_map);
586 csum_flag = EXT2_HAS_RO_COMPAT_FEATURE(fs->super,
593 (ext2fs_bg_flags_test(fs, group, EXT2_BG_INODE_UNINIT)))
597 for (i = 1; i <= fs->super->s_inodes_count && i > 0; i++) {
600 i % fs->super->s_inodes_per_group == 1) {
607 fs->super->s_inodes_per_group)) {
614 inodes = fs->super->s_inodes_per_group - 1;
627 bitmap = ext2fs_fast_test_inode_bitmap2(fs->inode_map, i);
651 ext2fs_bg_flags_clear(fs, group, EXT2_BG_INODE_UNINIT);
685 first_free = fs->super->s_inodes_per_group + 1;
694 if ((inodes == fs->super->s_inodes_per_group) ||
695 (i == fs->super->s_inodes_count)) {
707 io_channel_discard_zeroes_data(fs->io) &&
708 !(ext2fs_bg_flags_test(fs, group,
710 ext2fs_bg_flags_set(fs, group,
712 ext2fs_group_desc_csum_set(fs, group);
715 first_free = fs->super->s_inodes_per_group + 1;
725 group + fs->group_desc_count,
726 fs->group_desc_count*2))
729 (i != fs->super->s_inodes_count) &&
730 (ext2fs_bg_flags_test(fs, group, EXT2_BG_INODE_UNINIT)
745 ext2fs_free_inode_bitmap(fs->inode_map);
747 &fs->inode_map);
754 ext2fs_set_bitmap_padding(fs->inode_map);
755 ext2fs_mark_ib_dirty(fs);
760 memset(free_array, 0, fs->group_desc_count * sizeof(int));
761 memset(dir_array, 0, fs->group_desc_count * sizeof(int));
765 ext2fs_unmark_valid(fs);
767 for (i = 0; i < fs->group_desc_count; i++) {
768 if (free_array[i] != ext2fs_bg_free_inodes_count(fs, i)) {
770 pctx.ino = ext2fs_bg_free_inodes_count(fs, i);
774 ext2fs_bg_free_inodes_count_set(fs, i, free_array[i]);
775 ext2fs_mark_super_dirty(fs);
777 ext2fs_unmark_valid(fs);
779 if (dir_array[i] != ext2fs_bg_used_dirs_count(fs, i)) {
781 pctx.ino = ext2fs_bg_used_dirs_count(fs, i);
786 ext2fs_bg_used_dirs_count_set(fs, i, dir_array[i]);
787 ext2fs_mark_super_dirty(fs);
789 ext2fs_unmark_valid(fs);
792 if (free_inodes != fs->super->s_free_inodes_count) {
794 pctx.ino = fs->super->s_free_inodes_count;
798 fs->super->s_free_inodes_count = free_inodes;
799 ext2fs_mark_super_dirty(fs);
809 ext2_filsys fs = ctx->fs;
815 end = EXT2_INODES_PER_GROUP(fs->super) * fs->group_desc_count;
816 pctx.errcode = ext2fs_fudge_inode_bitmap_end(fs->inode_map, end,
829 if (!ext2fs_test_inode_bitmap(fs->inode_map, i)) {
832 ext2fs_mark_inode_bitmap(fs->inode_map,
834 ext2fs_mark_ib_dirty(fs);
836 ext2fs_unmark_valid(fs);
841 pctx.errcode = ext2fs_fudge_inode_bitmap_end(fs->inode_map,
853 ext2_filsys fs = ctx->fs;
859 end = ext2fs_get_block_bitmap_start2(fs->block_map) +
860 ((blk64_t)EXT2_CLUSTERS_PER_GROUP(fs->super) * fs->group_desc_count) - 1;
861 pctx.errcode = ext2fs_fudge_block_bitmap_end2(fs->block_map, end,
874 if (!ext2fs_test_block_bitmap2(fs->block_map,
875 EXT2FS_C2B(fs, i))) {
878 ext2fs_mark_block_bitmap2(fs->block_map,
879 EXT2FS_C2B(fs, i));
880 ext2fs_mark_bb_dirty(fs);
882 ext2fs_unmark_valid(fs);
887 pctx.errcode = ext2fs_fudge_block_bitmap_end2(fs->block_map,