Hacker News new | ask | show | jobs
by Kwpolska 668 days ago
From Wikipedia <https://en.wikipedia.org/wiki/ExFAT>:

> The standard exFAT implementation is not journaled and only uses a single file allocation table and free-space map. FAT file systems instead used alternating tables, as this allowed recovery of the file system if the media was ejected during a write (which occurs frequently in practice with removable media).

ExFAT is also used by fake USB drives which claim to be much larger than they really are.

1 comments

> FAT file systems instead used alternating tables, as this allowed recovery of the file system if the media was ejected during a write (which occurs frequently in practice with removable media).

This doesn't seem right to me (and the article also does not quote any source for this assertion). As far as I know, the secondary FAT is a leftover from days where block storage devices didn't have firmware-level bad block remapping, not really a consistency mechanism.

It certainly doesn't prevent inconsistencies between files/directories and the FAT, and you still need an fsck-like process to clean these up that traverses the file system when mounting a non-clean ejected FAT.

> ExFAT is also used by fake USB drives which claim to be much larger than they really are.

USB drives are block devices, and if they maliciously trick the host into assuming larger size than they actually are, that's hardly the filesystem's fault, is it?