|
![](/i/fill.gif) |
I begin to see some of the cleverness of the design of the NTFS MFT.
http://lwn.net/Articles/339337/
"""
Turns out there is a problem: cyclical dependencies. We have to write to the
disk in block-size units, and each block can potentially contain metadata
affected by more than one metadata operation.
"""
NTFS (as far as I know) restricts updates for one file to one block. I.e.,
file records (i-node equivalents) are bigger than one sector, and the file
record contains the names and list of directories it's in, so you can write
the file record, crash, and still put the name correctly into the directory
during recovery. The security descriptors are stored in a location based on
a hash of the value, so you could probably arrange that to not be
problematic. Etc. I wondered how the new NTFS got away with mounting an
unclean volume and cleaning it up in the background. Sounds like techniques
similar to this paper describes.
"""
means that a directory's ".." entry can't be removed until the directory
itself is recorded as unlinked
"""
I'm pretty sure there's no actual ".." in NTFS directories, either. :-)
--
Darren New, San Diego CA, USA (PST)
"We'd like you to back-port all the changes in 2.0
back to version 1.0."
"We've done that already. We call it 2.0."
Post a reply to this message
|
![](/i/fill.gif) |