ReiserDriver is an Installable File System Driver (IFSD) that allows ReiserFS partitions to be accessed under Windows. The project is currently in development, with a final release scheduled for August 9th, 2005.

News:

News from the Lost
    markwpiper - October 18, 2005 at 11:14 AM [EST]

Don't count rfsd as dead quite yet; rather, as significantly side-tracked. After finishing my degree at CMU and leaving Pittsburgh I took a month of vacation, and then headed off to a new job at Amazon.com, in Seattle. With moving across the country and starting a job, I have been quite busy.

I haven't touched the project throughout that time. It's in a state of 'it works for me,' but I know that a more complex testing setup is needed before the code matures that little bit before it works for everyone.

For the moment, lack of time and a dead laptop hard drive means that I can't work on the code, though seeing that the download counter has stayed quite high, I'll certainly want to return to rfsd in the (hopefully) very near future.


ReiserDriver Pre-release Version 2
    markwpiper - July 31, 2005 at 8:11 PM [EST]

The second pre-release of ReiserDriver is now available, with MANY bug fixes and improvements. It is available under the 'Releases' section as 'RFSD Pre-release v2.' (See the SourceForge release notes for full details.) The build is now feature complete.

This version should be relatively stable, and is in need of plenty of testing love! It is the last planned pre-release before the final release on August 9th.

Enjoy!


Large Directory Support and Pre-release Problems
    markwpiper - July 30, 2005 at 10:37 PM [EST]

Large directory support was a monster to implement, but it's now working and checked into CVS, along with many other small bug fixes made since the pre-release.

Testing on actual ReiserFS partitions (rather than small partitions with simplistic testing data) has now begun. This testing has shown two apparent bugs. The first is easy to fix: many BSODs in the pre-release were due to Windows requesting directory notification on a file rather than a directory (I'm not sure why this occurs), but I had left a breakpoint in the code, causing non-debug versions of Windows to crash.

The second problem is a bit nastier. When accessing large files, the blocks are getting shuffled around. The correct file contents are there, but they're in the wrong places.

I'll be looking into this problem over the next day or two, before uploading another pre-release.

The next release will have debugging code disabled, so expect major performance improvements (although the code still needs to be optimized once it is stable).

Thanks for all the feedback, and check back soon for the next release!


ReiserDriver Pre-Release v1
    markwpiper - July 27, 2005 at 5:06 PM [EST]

I have uploaded a pre-release of ReiserDriver. It is available under the 'Releases' section as 'RFSD Pre-release v1.' Make sure you read the release notes to know what to expect.

That said, a more thoroughly tested version (which should also support large directories!) will be released within the next few days. Progress is very good, and the project is nearing completion.

Stay tuned for the August 9th final release.


Superblocks, Directory Entries, and Stat Data -- Oh My!
    markwpiper - July 20, 2005 at 12:19 AM [EST]

I'm entering the production phase of the project, and the code is starting to come together. I've decided to base my architecture off of ext2fsd, which--although very complex--has many features that would otherwise be hard for me to replicate (FastIO, asynchronous I/O, caching, pageable code sections, directory notifications, wildcarding). Perhaps the more important reason is that ext2fsd is relatively bug free when compared to romfs or ext2ifs.

Constructing a diff between ffsdrv and ext2fsd showed where to expect critical code changes (although this was a bit misleading, since EXT2 is very similar to FFS). Using Doxygen, I generated callgraphs for ext2fsd, and have been documenting the code, and its architecture.

I've dived into pushing functionality into this new code base. So far, the superblock can be loaded, and the root directory's stat data and directory listing can be obtained. This means I can mount the drive, switch to it, type 'dir,' and have approximately the right thing happen.

The difficult thing about this is that ReiserFS is very different from EXT2 in terms of its on-disk structures. It takes significant effort to identify how ext2fsd has to change in order to accomodate these differences. This is made more difficult by the fact that, while it isolates IFS-specific from FS-specific code far better than any of the alternatives, the decoupling is nowhere near perfect.

Perhaps someday in the distant future I'll unify the code bases of ffsdrv, ext2fsd, and rfsd... but for now, the focus is on parsing the complete stat data and directory information out of the tree.


A Month To GO.
    markwpiper - July 13, 2005 at 12:19 AM [EST]

Slowly but surely, progress is being made. I have the infrastructure of a driver up and running, courtesy of a comination of romfs, ext2ifs, and the Nagar sources. For anyone out there who is looking for an updated version of the Nagar sources that will run on WinXP, I've put it in CVS (I'll try to remember to tag it). Meanwhile, I've figured out how to recognize a ReiserFS partition, mount it, and handle the IRP event model well enough that Windows won't bugcheck. Next I'll begin working on reading the directory structure, and some usable code will start appearing in CVS.


ReiserFS Documentation Resources
    markwpiper - June 16, 2005 at 2:24 AM [EST]

Finding informative documentation on ReiserFS has proved to be surprisingly difficult. I've isolated all of the research and available information that I could find onto the resources page, at http://rfsd.sf.net/resources.html


Summer of Code Application
    markwpiper - June 15, 2005 at 11:14 PM [EST]

For anyone who is curious, I've uploaded the ReiserDriver proposal for Google's Summer of Code program to http://rfsd.sourceforge.net/proposal.txt

Another new release is the ACDM experiment plan. ACDM is the Architecture Centric Development Method, which has some interesting techniques for determining and developing an appropriate software architecture. The method is being created at Carnegie Mellon, and so far, I've found it to fit well with an agile development approach. For those interested, you can find out more at http://reports-archive.adm.cs.cmu.edu/anon/isri2005/abstracts/05-103.html.


Project Web Site Launched
    markwpiper - June 5, 2005 at 2:25 AM [EST]

The website for ReiserDriver has now officially launched. The next phase of development will consist of architectural experiments to determine how to best port the ReiserFS code base to work as an IFSD. Check back soon for experiment plans, code, and results.

Tomorrow I'll be entering ReiserDriver into Google's "Summer of Code" program. Although I'd hoped that I would be able have Namesys as my mentoring organization, it wasn't to be. Nonetheless, here's hoping that ReiserDriver will still be one of the 200 selected projects!


Introducing rfsd: ReiserDriver
    markwpiper - May 30, 2005 at 10:02 PM [EST]

This posting marks the start of development for the rfsd project. The project has the goal of creating native support for the Reiser file system from within Microsoft Windows.


[News Archive]
SourceForge.net Logo