On Wed, Apr 6, 2011 at 2:52 AM, Bryan Donlan bdonlan@gmail.com wrote:
On Tue, Apr 5, 2011 at 03:56, Love Nystrom love.nystrom@gmail.com wrote:
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,
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.
Well .. I didn't actually mean for *You* to port ReiserFS, as well as refactoring IFS ;)
In fact, there are some OSS ReiserFS IFS implementations already available. A good summary of the situation is here: http://www.reactos.org/wiki/File_Systems/ReiserFS Also some forum points of view: http://www.reactos.org/forum/viewtopic.php?t=1689
ResierFS 3 has two OSS IFS implementations, one at SourceForge and one at Umeå University, but according to Hans Reiser himself, version 3 is considered deprecated due to design shortcomings. ReiserFS 4 has a Student Project in Switzerland, which they are willing to release to ReactOS.
AFAIK all of these implementations are built with MS IFS SDK, so they will require some work to build properly under RosBE, and testing testing testing. Unfortunately I myself am bogged down by RL, so I can't find the time, at least not now .. maybe next winter :(
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.
That might make it easier to port e.g JFS to ReactOS.
After contacting Dave Kleinkamp, maintainer of the Linux JFS implementation, which lives at SourceForge, I have retrieved the original IBM OSS snapshot, JFS 0.0.1, available by FTP from 147.52.159.12/system/
According to him, the Linux version was ported from OS/2, as I suspected, and not from AIX as we previously concluded, so the 0.0.1 code should be at least a good reference, if not a starting point, for an IFS port. The current Linux JFS supports both extended attributes and ACLs, making it attractive as a starting point, possibly eased by Your wrapper, but all of these implementations are tied pretty hard to the Unix file model, AFAI could see, so it may take a *lot* of work to create an IFS port.
"common sense" to make it a success, and not a mess ;). Only one way to find out!
Oh so true ;)
Good Luck and Best Regards // Love N