Lines Matching defs:fsck

2  * fsck.c
11 #include "fsck.h"
21 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
37 return f2fs_set_bit(BLKOFF_FROM_MAIN(sbi, blk), fsck->main_area_bitmap);
42 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
45 fsck->main_area_bitmap);
50 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
53 fsck->main_area_bitmap);
58 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
60 return f2fs_test_bit(BLKOFF_FROM_MAIN(sbi, blk), fsck->sit_area_bitmap);
65 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
67 return f2fs_set_bit(BLKOFF_FROM_MAIN(sbi, blk), fsck->sit_area_bitmap);
73 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
84 if (fsck->hard_link_list_head == NULL) {
85 fsck->hard_link_list_head = node;
89 tmp = fsck->hard_link_list_head;
98 if (tmp == fsck->hard_link_list_head) {
100 fsck->hard_link_list_head = node;
113 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
116 if (fsck->hard_link_list_head == NULL)
119 node = fsck->hard_link_list_head;
135 if (fsck->hard_link_list_head == node)
136 fsck->hard_link_list_head = node->next;
394 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
478 f2fs_test_bit(nid, fsck->nat_area_bitmap) != 0) {
479 f2fs_clear_bit(nid, fsck->nat_area_bitmap);
497 fsck->chk.valid_blk_cnt++;
498 fsck->chk.valid_node_cnt++;
504 if (sbi->fsck->chk.checked_node_cnt++ % p10)
508 sbi->fsck->chk.checked_node_cnt,
510 10 * (float)sbi->fsck->chk.checked_node_cnt /
568 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
572 quota_add_inode_usage(fsck->qctx, nid, &node_blk->i);
694 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
741 fsck->chk.valid_inode_cnt++;
757 fsck->chk.multi_hard_link_files++;
965 fsck->chk.valid_blk_cnt++;
1396 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
1397 u32 depth = fsck->dentry_depth;
1433 struct f2fs_dentry *d = fsck->dentry;
1582 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
1719 fsck->dentry_depth, i, en, name_len,
1760 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
1761 struct f2fs_dentry *cur_dentry = fsck->dentry_end;
1772 fsck->dentry_depth++;
1776 new_dentry->depth = fsck->dentry_depth;
1779 fsck->dentry_end = new_dentry;
1786 fsck->dentry_depth);
1790 fsck->dentry_depth, dentries,
1793 fsck->dentry = cur_dentry;
1794 fsck->dentry_end = cur_dentry;
1797 fsck->dentry_depth--;
1804 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
1806 struct f2fs_dentry *cur_dentry = fsck->dentry_end;
1816 fsck->dentry_depth++;
1819 new_dentry->depth = fsck->dentry_depth;
1822 fsck->dentry_end = new_dentry;
1833 fsck->dentry_depth, blk_addr);
1837 fsck->dentry_depth, blk_addr, dentries,
1840 fsck->dentry = cur_dentry;
1841 fsck->dentry_end = cur_dentry;
1844 fsck->dentry_depth--;
1854 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
1858 fsck->chk.valid_blk_cnt++;
1881 fsck->chk.valid_blk_cnt++;
2013 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
2021 if (!fsck->qctx)
2060 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
2079 if (fsck->chk.sit_free_segs + sit_valid_segs !=
2083 fsck->chk.sit_free_segs, sit_valid_segs,
2089 if (fsck->chk.valid_nat_entry_cnt != sit_node_blks) {
2092 fsck->chk.valid_nat_entry_cnt, sit_node_blks);
2097 if (fsck->chk.sit_free_segs != le32_to_cpu(cp->free_segment_count)) {
2100 fsck->chk.sit_free_segs,
2106 if (fsck->chk.valid_nat_entry_cnt !=
2110 fsck->chk.valid_nat_entry_cnt,
2120 for (i = 0; i < fsck->nr_nat_entries; i++) {
2121 u32 blk = le32_to_cpu(fsck->entries[i].block_addr);
2122 nid_t ino = le32_to_cpu(fsck->entries[i].ino);
2148 ino, fsck->nr_nat_entries);
2152 if (!f2fs_test_bit(ino, fsck->nat_area_bitmap)) {
2163 if (fsck->nat_valid_inode_cnt != le32_to_cpu(cp->valid_inode_count)) {
2166 fsck->nat_valid_inode_cnt,
2189 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
2201 fsck->nr_main_blks = sm_i->main_segments << sbi->log_blocks_per_seg;
2202 fsck->main_area_bitmap_sz = (fsck->nr_main_blks + 7) / 8;
2203 fsck->main_area_bitmap = calloc(fsck->main_area_bitmap_sz, 1);
2204 ASSERT(fsck->main_area_bitmap != NULL);
2213 fsck->dentry = calloc(sizeof(struct f2fs_dentry), 1);
2214 ASSERT(fsck->dentry != NULL);
2215 memcpy(fsck->dentry->name, "/", 1);
2216 fsck->dentry_end = fsck->dentry;
2223 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
2229 if (fsck->hard_link_list_head == NULL)
2235 node = fsck->hard_link_list_head;
2240 FIX_MSG("Failed to fix, rerun fsck.f2fs");
2258 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
2261 for (i = 0; i < fsck->nr_nat_entries; i++)
2262 if (f2fs_test_bit(i, fsck->nat_area_bitmap) != 0)
2312 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
2323 /* should call from fsck */
2354 set_cp(valid_block_count, fsck->chk.valid_blk_cnt);
2355 set_cp(valid_node_count, fsck->chk.valid_node_cnt);
2356 set_cp(valid_inode_count, fsck->chk.valid_inode_cnt);
2444 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
2491 fsck->chk.wp_inconsistent_zones++;
2525 fsck->chk.wp_inconsistent_zones++;
2736 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
2749 fsck->chk.valid_node_cnt--;
2750 fsck->chk.valid_blk_cnt--;
2757 fsck->chk.valid_blk_cnt--;
2769 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
2782 fsck->chk.valid_node_cnt--;
2783 fsck->chk.valid_blk_cnt--;
2799 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
2812 fsck->chk.valid_node_cnt--;
2813 fsck->chk.valid_blk_cnt--;
2833 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
2847 fsck->chk.valid_inode_cnt--;
2848 fsck->chk.valid_node_cnt--;
2849 fsck->chk.valid_blk_cnt--;
2855 fsck->chk.valid_node_cnt--;
2856 fsck->chk.valid_blk_cnt--;
2868 fsck->chk.valid_blk_cnt--;
2909 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
2921 reconnect_bitmap = calloc(fsck->nat_area_bitmap_sz, 1);
2924 for (nid = 0; nid < fsck->nr_nat_entries; nid++) {
2925 if (f2fs_test_bit(nid, fsck->nat_area_bitmap)) {
2971 for (nid = 0; nid < fsck->nr_nat_entries; nid++) {
2984 quota_add_inode_usage(fsck->qctx, nid, &node->i);
3011 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
3052 fsck->chk.wp_inconsistent_zones++;
3064 fsck->chk.wp_fixed = 1;
3116 * fsck so that following writes by fsck do not fail.
3120 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
3127 fsck->chk.wp_fixed = 1;
3183 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
3195 if (fsck->chk.wp_inconsistent_zones == 0x0) {
3199 fsck->chk.wp_inconsistent_zones);
3203 if (fsck->chk.wp_fixed && c.fix_on)
3208 for (i = 0; i < fsck->nr_nat_entries; i++)
3209 if (f2fs_test_bit(i, fsck->nat_area_bitmap) != 0)
3211 if (i < fsck->nr_nat_entries) {
3217 for (i = 0; i < fsck->nr_nat_entries; i++) {
3218 if (f2fs_test_bit(i, fsck->nat_area_bitmap) != 0) {
3228 if (fsck->hard_link_list_head != NULL) {
3229 node = fsck->hard_link_list_head;
3256 if (memcmp(fsck->sit_area_bitmap, fsck->main_area_bitmap,
3257 fsck->sit_area_bitmap_sz) == 0x0) {
3265 if (fsck->hard_link_list_head == NULL) {
3266 printf(" [Ok..] [0x%x]\n", fsck->chk.multi_hard_link_files);
3268 printf(" [Fail] [0x%x]\n", fsck->chk.multi_hard_link_files);
3273 if (sbi->total_valid_block_count == fsck->chk.valid_blk_cnt) {
3274 printf(" [Ok..] [0x%x]\n", (u32)fsck->chk.valid_blk_cnt);
3276 printf(" [Fail] [0x%x]\n", (u32)fsck->chk.valid_blk_cnt);
3281 if (sbi->total_valid_node_count == fsck->chk.valid_node_cnt) {
3282 printf(" [Ok..] [0x%x]\n", fsck->chk.valid_node_cnt);
3284 printf(" [Fail] [0x%x]\n", fsck->chk.valid_node_cnt);
3289 if (sbi->total_valid_node_count == fsck->chk.valid_nat_entry_cnt) {
3290 printf(" [Ok..] [0x%x]\n", fsck->chk.valid_nat_entry_cnt);
3292 printf(" [Fail] [0x%x]\n", fsck->chk.valid_nat_entry_cnt);
3297 if (sbi->total_valid_inode_count == fsck->chk.valid_inode_cnt) {
3298 printf(" [Ok..] [0x%x]\n", fsck->chk.valid_inode_cnt);
3300 printf(" [Fail] [0x%x]\n", fsck->chk.valid_inode_cnt);
3306 fsck->chk.sit_free_segs) {
3307 printf(" [Ok..] [0x%x]\n", fsck->chk.sit_free_segs);
3309 printf(" [Fail] [0x%x]\n", fsck->chk.sit_free_segs);
3347 for (i = 0; i < fsck->nr_nat_entries; i++) {
3348 if (f2fs_test_bit(i, fsck->nat_area_bitmap))
3392 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
3394 if (fsck->qctx)
3395 quota_release_context(&fsck->qctx);
3397 if (fsck->main_area_bitmap)
3398 free(fsck->main_area_bitmap);
3400 if (fsck->nat_area_bitmap)
3401 free(fsck->nat_area_bitmap);
3403 if (fsck->sit_area_bitmap)
3404 free(fsck->sit_area_bitmap);
3406 if (fsck->entries)
3407 free(fsck->entries);
3412 while (fsck->dentry) {
3413 struct f2fs_dentry *dentry = fsck->dentry;
3415 fsck->dentry = fsck->dentry->next;