|
![](/i/fill.gif) |
Warp wrote:
> I'm really wondering why defragmenting an NTFS partition is so much faster
> than a FAT32 partition.
NTFS has a journal, do you don't have to fsync() every change on every moved
block. If you crash out during an NTFS defrag, the system can recover by
simply taking a snapshot while you're working, and scanning the snapshot for
used clusters not assigned to a file. Otherwise, moving a file is just a
matter of copying the data, then stuffing the changed file structure blocks
into the journal to be rolled out at leisure.
With FAT, every time you move a file, you have to rewrite both FAT tables
and sync it out in order to insure the space is reserved before you update
the directory, and then clear out the newly-freed space in the FAT table and
sync that out again.
--
Darren New, San Diego CA, USA (PST)
I ordered stamps from Zazzle that read "Place Stamp Here".
Post a reply to this message
|
![](/i/fill.gif) |