Hindsight in filesystem design
NT4 (NTFS 1.2) did not store numbers of MFT
records. If MFT became fragmented, it appeared that there are millions of file records
linked in the tree based on the record numbers. However, it was difficult to establish
what number belonged to what record. Algorithms for detecting record numbers were
complex, unstable, and requiring a lot of resources. Starting with Windows XP, the
MFT entry number is stored inside the entry itself that, as it was planned, had
to facilitate data recovery.
When the volume was updated, for example, when a
volume created in NT4 was connected to Windows XP for a first time, all records
remained in the old format, without numbers. Records were brought into a new
format only when a file, which the records referred to, was changed. So, we were
encountering hybrid volumes over the several years thereafter. When at last, users
ceased to format disks using NT4, all the records were numbered and data
recovery software eventually stopped to support the old NTFS version.
The old ext2 implementation has the similar quirk
when a superblock did not contain the number of group to which the superblock belonged
to. Thus, the redundancy that designers have planned to have could not be used.
The reason is that in case of the failure of the first superblock it was possible
to find all the remaining superblocks, but even knowing all superblocks it was impossible
to detect the first one. Therefore there was no chance to know where the files were.
In the newer version of ext2 a superblock contains the numbers of groups that simplifies
data recovery significantly.
Comments
Post a Comment