ReiserFS under Windows 

http://sssup1.sssup.it/~pit/reiserfs.html

pit Last Updated February 08, 2002

This project is the porting of ReiserFS & Ext2 filesystem drivers of Linux (2.4.17) into a Windows system as a user mode application. The access is readonly for security and implementations reasons. I've ported first Ext2 and then extended to ReiserFS because of the absence of such tools for a Windows System.

The main idea is to mantain unchanged most of the code of the original driver and let it talk with fake linux calls. The only changes made to the ReiserFS and EXT2 code are relative to the differences between the two C/C++ compilers (GNU Extensions to C standard and bad const declarations). The main work of this porting is the se of Linux include files, full of assembly inlines, compiler specific code, and low level code.

My TODO list contains…

Use 

Actually this work is in prealpha stage, so I don't have a GUI or Shell extension, just this simple utility: extdump. The extdump accepts a file or device specification, an offset of the start of the partition and finally a path to lookat. If the path is a directory it prints the listing, otherwise it dumps part of the file content

This is the example relative to my ReiserFS partition in the second Hard Disk at offset 68b3cb000. The right offset of the partition can be retrivied with a Partition Information tool or with WinHex.

To specify the location of the filesystem you have two choices:

  • A file, created with makefs. Offset is 0
  • A physical drive like \\.\PHYSICALDRIVE#, with the correct offset taken from the partition table >

    extdump \\.\PHYSICALDRIVE1 -o 68b3cb000 /etc/nsswitch.conf

Here the output

Kernel:Inode-cache hash table entries: 512 (order: 0, 4096 bytes)
Kernel:REISERFS Module Initialized
Kernel:DEV Initialized
Kernel:reiserfs: checking transaction log (device aaa) ...
Kernel:1Using r5 hash to sort names
Kernel:ReiserFS version 3.6.25
Kernel:Super Block Loaded
Searching: /etc/nsswitch.conf
...etc....
...nsswitch.conf....
Found 70275 004DAC28
Listing some bytes of /etc/nsswitch.conf
#
# /etc/nsswitch.conf
#
# An example Name Service Switch config file. This file should be
# sorted with the most-used services at the beginning.
#
# The entry '[NOTFOUND=return]' means that the search for an
# entry should stop if the search in the previous entry turned
# up nothing. Note that if
Press any key to continue

Downloads 

Executable extdump.zip

Source Code extdumpsrc.zip

Links

  • Linux Source Code Crossreference
  • ReiserFS Page by NameSys

Changes February 8, 2002

  • Initial release.

License Copyright 2002 Emanuele Ruffaldi. All rights reserved. No warrantees extended.