Unify-IO

From: Robert Collins <robertc@dont-contact.us>
Date: 07 Dec 2002 09:08:04 +1100

Ok, those tracking Sourceforge commits may have seen a few to unify-io.

They code there is currently very messy looking, but the snowball effect
has taken hold, it's now a routine matter to make it look good, and I am
doing that :}.

The branch has a single goal: To remove the 3 separate implementations
of the ufs cache dir logic. - that is the
/var/cache/00/0000000/000000004 style file layout.

We only need one such implementation (and with the NT branch, there is a
4th identical one!).

Also, we can't reuse the clever io queueing and handling code in aufs
and diskd because it is bound to the storeio module that it is in.

So.....

The unify-io branch will have completed it's primary goal when:
the diskd and aufs directories contain no more than:
* IO queueing code
* 100% generic bindings to the ufs common code.
the ufs directory contains
* IO queuing code
* 100% generic bindings to the ufs common code.
* The master ufs common code.

At that point I'll seek to merge it to HEAD.

A second phase is to remove the aufs and diskd directories and create a
new set of modules for IO - including ufs, diskd and aufs as the inital
implementations. These would be generic IO interfaces, to allow new
storeio drivers, log techniques - anything - to do cross platform async
io. This phase will need some squid.conf extensions to allow the choice
of IO driver for the ufs store, and to map diskd/aufs to the ufs store.

But this phase is a little further away, and can wait for someone to
have an IO project they want to work on.

Rob

Received on Fri Dec 06 2002 - 15:08:14 MST

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:19:00 MST