--------------------- PatchSet 10341 Date: 2007/12/29 05:36:13 Author: adri Branch: s27_adri Tag: (none) Log: More things to do .. Members: ADRIAN_TODO:1.1.2.17->1.1.2.18 Index: squid/ADRIAN_TODO =================================================================== RCS file: /cvsroot/squid-sf//squid/Attic/ADRIAN_TODO,v retrieving revision 1.1.2.17 retrieving revision 1.1.2.18 diff -u -r1.1.2.17 -r1.1.2.18 --- squid/ADRIAN_TODO 20 Dec 2007 10:37:04 -0000 1.1.2.17 +++ squid/ADRIAN_TODO 29 Dec 2007 05:36:13 -0000 1.1.2.18 @@ -97,3 +97,31 @@ (benchmark, test, etc!) and then eliminate these and possibly other messy strCDup()s. + +* The disk.c code and all the store disk write callbacks expect a FREE * pointer to free + the written buffer. This is not enough to write and free an stmem ref. Gah, that hack + is/was ugly! The storeWrite() path has an assert in front of it now; please go through + and add completion and buffer free callbacks; rework disk.c to do the buffer free + callbacks "right" (just to keep src/fs/ufs happy for now) and then redo all the FSes. + +* Eventually! Collapse ufs/aufs/diskd into "ufs", with different IO op vectors. + Like Robert's Squid-3 work, but "better" - make it work with disk.c for gods sake, + then see if its feasable to do use file_write() for the log files again with stuff + like POSIX aio/diskd/asyncio doing disk io. It might not be.. + + (in any case, bring sanity to the disk code!) + +* Audit all the storeClientRef() users (again!) and see if they're able to handle buffers + larger than SM_PAGE_SIZE. The stmem stuff can now handle arbitrary-sized buffers and + these should be read/written as much as possible. + +* .. then, add a "header size" swap meta type (if one doesn't exist already) and then + modify the store client code to read in -that- much data (in multiple reads if needed) + before parsing the headers. Yes, at this point we can handle >4k reply status+headers.. + +* Hm, what else? Ah, buf_fill() does a read() where it should do an FD_READ_METHOD + and update the comm counters. Look at moving buf_fill() into src/ so it can access + the FD_READ_METHOD and associated gunk (don't make buf depend on comm and comm depend + on buf; have a "netbuf" library which depends on both. No cyclic dependencies!) + +