To: Michael L. Voorhees who wrote (15800 ) 4/27/1999 8:30:00 PM From: Thomas C. Kimmel Read Replies (1) | Respond to of 64865
NTFS, in my experience, is pretty good about not losing file system integrity during system disturbances. And it better be. The architecture is a typical MSFT mishmash of good and bad ideas. For example, the directory entries are sufficiently large that they can keep the whole contents of small files in them (I believe that they recently shrank that size when they discovered that most files were much smaller than the old allocation value). NTFS does, and long has, had hard links, but they were not accessible thru Win32. You had to use the brain-damaged MSFT implementation of POSIX. You can get a ln command with MKS Toolkit (now a DataFocus product, I believe). NT5 Win32 will have a CreateHardLink() function. Symbolic links are coming with NT5(maybe before),implemented using a system called "reparse points". As far as I can remember, this acts like an AFS driver, routing requests for names in the file system to the appropriate application and/or machine to service them. Of course, this does not include the sophisticated caching and recovery mechanisms of AFS. I suspect that it is a terribly over-engineered mess. Speaking of messes, NT5 will also expose a facility that has been in NTFS since the beginning(?)- the disgusting datastreams conception.In an old COM document on the MSFT site, there is a discussion of "A File System Within a File" which describes the intended use of this functionality. It looks like it was thought up in Marketing. Put briefly, it lets you associate multiple "streams" of data with a given filesystem object, with (sub)names, and treat them as a conglomeration for the purposes of copying, etc. Another good thing: everything's Unicode, just like everywhere else in NT. I don't know if they've solved the problems with recovering 8.3 equivalent file names, however. Finally, my pet peeve, they still haven't figured out how to do holes in files properly. So-called "sparse files" are in NT5, but they are implemented, as I recall, using the file compression facility and don't automatically free blocks which happen to be written with nulls. And you can tell whether a file has a hole at a given place or not - that is totally transparent in UNIX file systems. All in all, I think NTFS could easily get worse rather than better. Pretty soon it will be as complicated as Win32. I keep saying "I believe" and "as I recall" because I picked up these tidbits at a Solomon NT Seminar last August. I highly recommend this source for learning about NT and Win32 Internals. The sessions (4 days) that I attended had no hands-on tutorials. If you hold them in-house then you get the tutorials, too, which would be better. Just my 2 cents regarding NTFS -tck