Re: pre-patch2.1.45-3 lookin' good

Linus Torvalds (
Sun, 13 Jul 1997 21:34:12 -0700 (PDT)

Ok, I've now gotten the garbage collection working the way I want it to
work, and generally cleaned up the dentry usage so that there are no
circular dependencies between dentries and inodes. Some of the code still
needs to be cleaned up a bit, but I _think_ that the basics are ok.

The code is in "pre-patch-2.1.45-4.gz", patch relative to a clean 2.1.44.
It still doesn't do unmounting etc cleanly, but with this code the unmount
testing _should_ be something like

if (sb->s_root->d_count != some_constant_I_think_it_s_four)
return -EBUSY;
.. ok, we can unmount ..

so it shouldn't be all that hard to add.. I'm hoping that somebody will
re-do their patches for the new code-base, hint hint ;)

Currently not working:
- some of the binfmt loaders (java and misc). It's reasonably
straightforward to fix them, but I only fixed the ones I actually have
enabled (it took me pretty much all of today to fix everything, and I'm
simply too exhausted to worry about details any more).
- rd_root initial ramdisk loading. The file pointer initializations are
more complex, and I can't stomach it right now - again I don't actually
use this feature.
- unmount/remount is still broken.
- probably other stuff that I simply haven't tested.

But the garbage collection driven by low memory conditions seems to work,
and it all "feels" much better than it used to (note that when I say
something "feels good" it doesn't necessarily mean that it is usable, it
mainly means that I think all the basic approaches are fine and while
there may be a lot of details to clean up they really are only details).

In short, I think the major overhaul is done, and the code basically
works. There are quirks and missing stuff still, but I just know/hope that
there are people out there that find it all the more interesting because
of that.