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