4 ms·
> One possible reason is that it isn't a published part of the filesystem's external interface, and the format is not guaranteed to be static between versions o
by WaitWaitWha 2y ago
> One possible reason is that it isn't a published part of the filesystem's external interface, and the format is not guaranteed to be static between versions or even point releases (though in reality, while the behaviours may be officially undefined that are unlikely to change significantly).
I am not going to pull every document, but the MFT structure is documented and published. I am uncertain what you mean by "external interface".
"About 9,810 results (0.04 sec)"
https://scholar.google.com/scholar?hl=en&as_sdt=0%2C11&q=mft+master+file+table&btnG=&oq=MFT+master+file https://scholar.google.com/scholar?hl=en&as_sdt=0%2C11&q=mft...
- userbinator 2y agoMoreover it is documented by Microsoft itself: https://learn.microsoft.com/en-us/windows/win32/devnotes/master-file-table https://learn.microsoft.com/en-us/windows/win32/devnotes/mas...
- dspillett 2y agoThough all the sub-pages of that state things like “[This structure is valid only for version 3 of NTFS volumes; it may be altered in future versions.]” — while it is true that any API could see breaking changes in future, this suggests that you should expect them, so I'd not call it supported in the same sense of the main file/directory access APIs which I would not expect to see breaking changes in (additional properties & functionality yes, but not existing things changing behaviour).
- dspillett 2y agoA lot of people talking about the details, does not constitute official documentation though. You can find a lot of articles talking about SQL Server's DBCC IND and DBCC PAGE, but that isn't official documentation – they are essentially internal functions and not supported and could change or go away entirely despite having been around for many versions, as they have in Azure). Similarly there articles talking about sys.dm_db_database_page_allocations which sort-of does the job of DBCC IND, but again this is not officially documented & supported. > I am uncertain what you mean by "external interface". I meant the published interface. Maybe "supported API" would have been a better phrase to use? Though as pointed out below, there is at least some official documentation on the MFT structure.