Offset to the beginning of the FILE record | Length | Description |
---|---|---|
0 | 4 | Magic number 'FILE' |
4 | 2 | Offset to the update sequence |
6 | 2 | S=Size of the update sequence array + 1 |
10 | 2 | Sequence number |
12 | 2 | Reference count |
14 | 2 | Offset to the sequence of attributes part |
16 | 2 | Flags |
18 | 4 | Real size of the FILE record |
1C | 4 | Allocated size of the FILE record |
20 | 8 | File reference to the base FILE record |
28 | 2 | Maximum attribute Identificator + 1 |
2A | 2 | Update sequence |
2C | 2*(S-1) | Update sequence array |
Bit | Signification |
---|---|
00 01 | In use |
00 02 | The FILE record describes a directory |
When a file is deleted, NTFS can't simply remove the associated FILE records from the MFT, otherwise FILE record numbers wouldn't be constant over time, and all file references would have to be updated! Instead, the in-use flag of a FILE record indicates when it is no longer in use. When a file is created, an unused FILE record can be re-used for it, but its sequence number is incremented by one. This mechanism allow NTFS to check that file references don't point to deleted files.