OSDN Git Service

Revert "Use fuse_main() instead of lower level functions."
[android-x86/external-exfat.git] / libexfat / repair.c
index a7222cd..237ab3a 100644 (file)
@@ -76,3 +76,27 @@ bool exfat_fix_invalid_vbr_checksum(const struct exfat* ef, void* sector,
        exfat_errors_fixed++;
        return true;
 }
+
+bool exfat_fix_invalid_node_checksum(const struct exfat* ef,
+               struct exfat_node* node)
+{
+       /* checksum will be rewritten by exfat_flush_node() */
+       node->is_dirty = true;
+
+       exfat_errors_fixed++;
+       return true;
+}
+
+bool exfat_fix_unknown_entry(struct exfat* ef, struct exfat_node* dir,
+               const struct exfat_entry* entry, off_t offset)
+{
+       struct exfat_entry deleted = *entry;
+
+       deleted.type &= ~EXFAT_ENTRY_VALID;
+       if (exfat_generic_pwrite(ef, dir, &deleted, sizeof(struct exfat_entry),
+                       offset) != sizeof(struct exfat_entry))
+               return false;
+
+       exfat_errors_fixed++;
+       return true;
+}