Lines Matching refs:exfat_fsck
46 struct exfat_fsck exfat_fsck;
98 exfat_repair_ask(&exfat_fsck, code, \
257 if (exfat_repair_ask(&exfat_fsck,
272 if (exfat_repair_ask(&exfat_fsck,
528 exfat_repair_ask(&exfat_fsck, ER_BS_BOOT_REGION,
765 num = exfat_repair_ask(&exfat_fsck, ER_DE_DOT_NAME,
1116 static int read_children(struct exfat_fsck *fsck, struct exfat_inode *dir)
1205 static int write_bitmap(struct exfat_fsck *fsck)
1250 static int exfat_filesystem_check(struct exfat_fsck *fsck)
1375 static int rescue_orphan_clusters(struct exfat_fsck *fsck)
1477 static void exfat_show_info(struct exfat_fsck *fsck, const char *dev_name)
1576 exfat_fsck.options = ui.options;
1591 exfat_fsck.exfat = exfat_alloc_exfat(&bd, bs);
1592 if (!exfat_fsck.exfat) {
1597 exfat_fsck.buffer_desc = exfat_alloc_buffer(2,
1598 exfat_fsck.exfat->clus_size,
1599 exfat_fsck.exfat->sect_size);
1600 if (!exfat_fsck.buffer_desc) {
1605 if ((exfat_fsck.options & FSCK_OPTS_REPAIR_WRITE) &&
1606 exfat_mark_volume_dirty(exfat_fsck.exfat, true)) {
1612 ret = exfat_root_dir_check(exfat_fsck.exfat);
1618 if (exfat_fsck.options & FSCK_OPTS_RESCUE_CLUS) {
1619 ret = exfat_create_file(exfat_fsck.exfat,
1620 exfat_fsck.exfat->root,
1628 if (fsync(exfat_fsck.exfat->blk_dev->dev_fd) != 0) {
1636 ret = exfat_filesystem_check(&exfat_fsck);
1640 if (exfat_fsck.options & FSCK_OPTS_RESCUE_CLUS) {
1641 rescue_orphan_clusters(&exfat_fsck);
1642 exfat_fsck.dirty = true;
1643 exfat_fsck.dirty_fat = true;
1646 if (exfat_fsck.options & FSCK_OPTS_REPAIR_WRITE) {
1647 ret = write_bitmap(&exfat_fsck);
1659 if (exfat_fsck.options & FSCK_OPTS_REPAIR_WRITE)
1660 exfat_mark_volume_dirty(exfat_fsck.exfat, false);
1663 exfat_show_info(&exfat_fsck, ui.ei.dev_name);
1670 else if (exfat_fsck.dirty)
1675 if (exfat_fsck.buffer_desc)
1676 exfat_free_buffer(exfat_fsck.buffer_desc, 2);
1677 if (exfat_fsck.exfat)
1678 exfat_free_exfat(exfat_fsck.exfat);