Home | History | Annotate | Download | only in fsck

Lines Matching defs:fsck

2  * fsck.c
11 #include "fsck.h"
19 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
35 return f2fs_set_bit(BLKOFF_FROM_MAIN(sbi, blk), fsck->main_area_bitmap);
40 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
43 fsck->main_area_bitmap);
48 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
50 return f2fs_test_bit(BLKOFF_FROM_MAIN(sbi, blk), fsck->sit_area_bitmap);
55 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
57 return f2fs_set_bit(BLKOFF_FROM_MAIN(sbi, blk), fsck->sit_area_bitmap);
63 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
74 if (fsck->hard_link_list_head == NULL) {
75 fsck->hard_link_list_head = node;
79 tmp = fsck->hard_link_list_head;
88 if (tmp == fsck->hard_link_list_head) {
90 fsck->hard_link_list_head = node;
103 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
106 if (fsck->hard_link_list_head == NULL)
109 node = fsck->hard_link_list_head;
125 if (fsck->hard_link_list_head == node)
126 fsck->hard_link_list_head = node->next;
362 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
446 f2fs_test_bit(nid, fsck->nat_area_bitmap) != 0)
447 f2fs_clear_bit(nid, fsck->nat_area_bitmap);
462 fsck->chk.valid_blk_cnt++;
463 fsck->chk.valid_node_cnt++;
470 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
481 f2fs_set_bit(le32_to_cpu(node->footer.ino), fsck->nat_area_bitmap);
482 fsck->chk.valid_blk_cnt--;
483 fsck->chk.valid_node_cnt--;
529 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
534 quota_add_inode_usage(fsck->qctx, nid, &node_blk->i);
629 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
649 fsck->chk.valid_inode_cnt++;
661 fsck->chk.multi_hard_link_files++;
1284 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
1417 fsck->dentry_depth, i, en, name_len,
1421 print_dentry(fsck->dentry_depth, name, bitmap,
1456 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
1466 fsck->dentry_depth++;
1472 fsck->dentry_depth);
1476 fsck->dentry_depth, dentries,
1479 fsck->dentry_depth--;
1486 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
1496 fsck->dentry_depth++;
1506 fsck->dentry_depth, blk_addr);
1510 fsck->dentry_depth, blk_addr, dentries,
1513 fsck->dentry_depth--;
1523 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
1527 fsck->chk.valid_blk_cnt++;
1550 fsck->chk.valid_blk_cnt++;
1662 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
1670 if (!fsck->qctx)
1709 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
1728 if (fsck->chk.sit_free_segs + sit_valid_segs != TOTAL_SEGS(sbi)) {
1731 fsck->chk.sit_free_segs, sit_valid_segs,
1737 if (fsck->chk.valid_nat_entry_cnt != sit_node_blks) {
1740 fsck->chk.valid_nat_entry_cnt, sit_node_blks);
1745 if (fsck->chk.sit_free_segs != le32_to_cpu(cp->free_segment_count)) {
1748 fsck->chk.sit_free_segs,
1754 if (fsck->chk.valid_nat_entry_cnt !=
1758 fsck->chk.valid_nat_entry_cnt,
1768 for (i = 0; i < fsck->nr_nat_entries; i++) {
1769 u32 blk = le32_to_cpu(fsck->entries[i].block_addr);
1770 nid_t ino = le32_to_cpu(fsck->entries[i].ino);
1796 ino, fsck->nr_nat_entries);
1800 if (!f2fs_test_bit(ino, fsck->nat_area_bitmap)) {
1811 if (fsck->nat_valid_inode_cnt != le32_to_cpu(cp->valid_inode_count)) {
1814 fsck->nat_valid_inode_cnt,
1824 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
1836 fsck->nr_main_blks = sm_i->main_segments << sbi->log_blocks_per_seg;
1837 fsck->main_area_bitmap_sz = (fsck->nr_main_blks + 7) / 8;
1838 fsck->main_area_bitmap = calloc(fsck->main_area_bitmap_sz, 1);
1839 ASSERT(fsck->main_area_bitmap != NULL);
1852 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
1858 if (fsck->hard_link_list_head == NULL)
1864 node = fsck->hard_link_list_head;
1869 FIX_MSG("Failed to fix, rerun fsck.f2fs");
1887 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
1890 for (i = 0; i < fsck->nr_nat_entries; i++)
1891 if (f2fs_test_bit(i, fsck->nat_area_bitmap) != 0)
1921 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
1943 set_cp(valid_block_count, fsck->chk.valid_blk_cnt);
1944 set_cp(valid_node_count, fsck->chk.valid_node_cnt);
1945 set_cp(valid_inode_count, fsck->chk.valid_inode_cnt);
2040 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
2045 for (i = 0; i < fsck->nr_nat_entries; i++) {
2046 if (f2fs_test_bit(i, fsck->nat_area_bitmap) != 0) {
2052 if (fsck->hard_link_list_head != NULL) {
2053 node = fsck->hard_link_list_head;
2062 printf("[FSCK] Unreachable nat entries ");
2071 printf("[FSCK] SIT valid block bitmap checking ");
2072 if (memcmp(fsck->sit_area_bitmap, fsck->main_area_bitmap,
2073 fsck->sit_area_bitmap_sz) == 0x0) {
2081 printf("[FSCK] Hard link checking for regular file ");
2082 if (fsck->hard_link_list_head == NULL) {
2083 printf(" [Ok..] [0x%x]\n", fsck->chk.multi_hard_link_files);
2085 printf(" [Fail] [0x%x]\n", fsck->chk.multi_hard_link_files);
2090 printf("[FSCK] valid_block_count matching with CP ");
2091 if (sbi->total_valid_block_count == fsck->chk.valid_blk_cnt) {
2092 printf(" [Ok..] [0x%x]\n", (u32)fsck->chk.valid_blk_cnt);
2094 printf(" [Fail] [0x%x]\n", (u32)fsck->chk.valid_blk_cnt);
2099 printf("[FSCK] valid_node_count matcing with CP (de lookup) ");
2100 if (sbi->total_valid_node_count == fsck->chk.valid_node_cnt) {
2101 printf(" [Ok..] [0x%x]\n", fsck->chk.valid_node_cnt);
2103 printf(" [Fail] [0x%x]\n", fsck->chk.valid_node_cnt);
2108 printf("[FSCK] valid_node_count matcing with CP (nat lookup) ");
2109 if (sbi->total_valid_node_count == fsck->chk.valid_nat_entry_cnt) {
2110 printf(" [Ok..] [0x%x]\n", fsck->chk.valid_nat_entry_cnt);
2112 printf(" [Fail] [0x%x]\n", fsck->chk.valid_nat_entry_cnt);
2117 printf("[FSCK] valid_inode_count matched with CP ");
2118 if (sbi->total_valid_inode_count == fsck->chk.valid_inode_cnt) {
2119 printf(" [Ok..] [0x%x]\n", fsck->chk.valid_inode_cnt);
2121 printf(" [Fail] [0x%x]\n", fsck->chk.valid_inode_cnt);
2126 printf("[FSCK] free segment_count matched with CP ");
2128 fsck->chk.sit_free_segs) {
2129 printf(" [Ok..] [0x%x]\n", fsck->chk.sit_free_segs);
2131 printf(" [Fail] [0x%x]\n", fsck->chk.sit_free_segs);
2136 printf("[FSCK] next block offset is free ");
2145 printf("[FSCK] fixing SIT types\n");
2149 printf("[FSCK] other corrupted bugs ");
2165 for (i = 0; i < fsck->nr_nat_entries; i++) {
2166 if (f2fs_test_bit(i, fsck->nat_area_bitmap))
2195 struct f2fs_fsck *fsck = F2FS_FSCK(sbi);
2197 if (fsck->qctx)
2198 quota_release_context(&fsck->qctx);
2200 if (fsck->main_area_bitmap)
2201 free(fsck->main_area_bitmap);
2203 if (fsck->nat_area_bitmap)
2204 free(fsck->nat_area_bitmap);
2206 if (fsck->sit_area_bitmap)
2207 free(fsck->sit_area_bitmap);
2209 if (fsck->entries)
2210 free(fsck->entries);