Well, time for a dilemma.
I've been background-tasking on finishing the extraction of the IO logic
from ufs, diskd, aufs and coss into a set of IO modules, that would then
be usable from anywhere in squid - helpers, persistent logic routines
etc.
Well, I've completed 95% of that. The current code allows:
coss with Blocking (ufs), DiskDaemon (diskd), DiskThreads (aufs) and AIO
(coss) IO engines.
ufs with the same four engines.
The only step missing to be able to use the IO modules from anywhere is
automatic registration to be 'synced' at shutdown, and 'callback()'
checked on each io loop.
And those two things are really sugar - not needed until the first
application thereof.
It's quite fun running COSS with the diskd engine :}.
I really like this stuff - and will merge it as soon as it's 'ok' to do
so.
The code can be found from my www.squid-cache.org/~robertc/ homepage -
the last link.
Or, my robertc@squid-cache.org--squid/squid--disk-io--3.0 branch in
arch.
So, I'm off to dig into the last 3.0 blockers, so that this can be
merged asap :}.
Feedback on this branch is solicited - I'm -sure- there are quirks. API
changes that can be improved upon, etc.
Rob
-- GPG key available at: <http://members.aardvark.net.au/lifeless/keys.txt>.
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:20:31 MST