At 09.55 30/08/2003, Robert Collins wrote:
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 [EMAIL PROTECTED]/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.
This is a very interesting thing:
For example it means that a Windows native awin32 fs based on aufs is no more needed: all the magic can will be do from a Win32DiskThreads.
Very useful.
FYI: I have too a running Win32 AIO emulating Posix API, see nt branch.
Regards
Guido
- ======================================================== Guido Serassio Acme Consulting S.r.l. Via Gorizia, 69 10136 - Torino - ITALY Tel. : +39.011.3249426 Fax. : +39.011.3293665 Email: [EMAIL PROTECTED] WWW: http://www.acmeconsulting.it/
