On Tue, Apr 5, 2011 at 03:56, Love Nystrom love.nystrom@gmail.com wrote:
Hi Bryan, Just like Aleksey, I would welcome an effort to simplify IFS implementation. Seen as NTFS is (and always will be?) not well documented, I've been thinking about supporting some alternative, OSS, journaling file system in ReactOS, e.g. ReiserFS, to allow us to provide the (relative) fail-safety of file transaction journaling that NTFS has. Also, hopefully, to enable us to implement NT's access privilege system (Security) on files. So far, it remains just a thought, since I can't allocate the time to adapt e.g ReiserFS to an NT IFS, and if I'm not mistaken, our IFS implementation has shortcomings of it's own which You may need to address as well in implementing Your proposal.
A nice idea, but I think I'll have my hands full enough trying to refactor the IFS API, without having to figure out the platform dependencies in an existing filesystem (such as JFS or ReiserFS or even ntfs-3g) at the same time... :) If there's time at the end I suppose it might be an interesting thing to try, or if someone else wants to work on the filesystem porting side I could work with them on it.
I do hope to create an API that is similar to what unix VFSes expose, so it ought to make porting easier in the end.
In addition to "Windows NT File System Internals" I would also recommend "Windows Internals, 4th Edition" for additional/complementary insight. Especially Ch.12 "File Systems", but Ch.8-12 are all relevant, and the whole book is strongly recommended (by everyone, I think). It will be a BIG job I think (thesis big), and I hope You have the structural "common sense" to make it a success, and not a mess ;).
Only one way to find out!