Reiserfs is a file system based on balanced tree algorithms, which is described at http://devlinux.com/namesys.


Stop reading here.  Go there, then return.

Send bug reports to reiser@idiom.com, or vs@namesys.botik.ru, or both.

The file system checking utility is in reiserfs/utils along with mkreiserfs.

Try turning REISERFS_CHECK in reiserfs_fs.h on or off if you want error checking or speed, respectively.  Real users, as
opposed to folks who want to hack, will want it off.

Reiserfs is hereby licensed according to the Gnu Public License, but with the following special terms: you may not
integrate it into any kernel (or if not added to a kernel, into any software system) which is not also a GPL kernel
(software system) without obtaining from Hans Reiser an exception to this license.  Along with that exception you will
probably also obtain support and customization services, all of it for a fee.  In the event that you (or a court) do not
accept this interpretation of the GPL, you may choose to not use Reiserfs.  I (Hans Reiser) retain all rights to license it as I
desire in ways other than this license.  Note that it is the policy of Namesys to license its software on reasonable
terms which are in accord with the antitrust laws.  While one might argue that the GPL violates the antitrust laws, you
should contact us and I believe you will find that we are willing to license in accord with those laws.

I try to find ways to make money for those who contribute to this code.  My success in such efforts cannot be
guaranteed though:-).  You are encouraged to add to it.  If you want to market it as part of a system you sell, please
contact me.  OS vendors, and others, please send email to reiser@ricochet.net to arrange for a demo and presentation.

Hideous Commercial Pitch: Spread your development costs across other OS vendors.  Select from the best in the world, not
the best in your building, by buying from third party OS component suppliers.  Leverage the software component
development power of the internet.  Be the most aggressive in taking advantage of the commercial possibilities of
decentralized internet development, and add value through your branded integration that you sell as an operating system.
Let your competitors be the ones to compete against the entire internet by themselves.  Be hip, get with the new
economic trend, before your competitors do.  Send email to reiser@idiom.com.

If you would like an academic seminar on Reiserfs, we are generally willing to do this for OS classes.

Start by reading reiserfs_fs.h.....

Authorship: Hans Reiser was the project initiator, primary architect, source of funding, and one of the programmers.  He
owns the copyright.

Vladimir Saveljev was one of the programmers, and he worked long hours writing the cleanest code.  He always made the
effort to be the best he could be, and to make his code the best that it could be.  What resulted was quite
remarkable. I don't think that money can ever motivate someone to work the way he did, he is one of the most selfless
men I know.

Yura joined us near the end of our project, and helped with such things as integrating hashing back into the code, and
benchmarking different pieces of code to help with tuning analysis.

Anatoly Pinchuk is a former member of our team who worked closely with Vladimir throughout the project's development.
He wrote a quite substantial portion of the total code.  He realized that there was a space problem with packing tails
of files for files larger than a node that start on a node aligned boundary (there are reasons to want to node align
files), and he invented and implemented indirect items and unformatted nodes as the solution.

Two other former employees were involved who won't be getting credit here because they tried to kill the project at the
end of it, and almost succeeded (they cost me maybe two years).  They wanted to force me to sell it to the company they
tried to start.  They get to keep the money they got from me, and that is it.  When their "VC" said that he could get a
hundred researchers to swear in Russian Court that I had had nothing to do with the development of treefs, I changed the
name to reiserfs and registered the copyright.

Grigory Zaigralin was an extremely effective system administrator for our group.

Igor Krasheninnikov was wonderful at hardware procurement, repair, and network installation.

Jeremy Fitzhardinge wrote the teahash.c code, and he gives credit to a textbook he got the algorithm from in the code.
Note that his analysis of how we could use the hashing code in making 32 bit NFS cookies work was probably more
important than the actual algorithm.  Colin Plumb also contributed to it.
