Filesystem Design
The basic ideas are to strip away the expensive name -> inode -> data traversal, by referencing files by their inode rather than by name and by storing some data in the inode block, so data is very fast to bring back, and to model storage on disk around average filesizes seen in every-day use, such that fetching most files is one or two operations only.
The filesystem itself is mostly complete - what's required at this point is for the interfaces between squid and the filesystems to be cleaner, so that testing and development can continue on this, and on other filesystems. So work is currently focussed on that aspect.
Benefits
- Much cleaner filesystem interface - easier to develop experimental fs'es
- Much faster file accesses in sfs, potentially giving massive speedups on disk I/O
Notes
(This section will be filled out in the days to come, much of the notes regarding this are spread through various emails to squid-dev.)
Related "Stuff"
- request_queue2 email - this is the earliest reference I could find to request_queue2 in the squid-dev archives. It explains some of the issues with the request queues in aufs.
- threading info - this is a discussion between Robert, myself, and Henrik, that has a wealth of information in it regarding the layout of aufs. A few challenges in there ;) Around that date, there were other messages also related.
- more threading info - this was the other mail thread that held useful information about the request_queue design and threading schemes.
- fs reshuffles - comments about reshuffling the fs code - this is going ahead now, in some form.
- Compatible squid fs - The start of another discussion on squid filesystems.
- squidNG mail - This email is the start of a thread regarding squidNG, which was(is?) reiser-centric. This is the home for squidNG, to the best of my knowledge. Reiser is a journalling fs, they're doing interesting squid-related work atm.
- Henrik's Archive ;) This is the archive of mails through the squid-dev list that Henrik kept when we first talked about squidfs and such topics - it holds lots of info about the design of squidfs (and regarding a cyclical fs, in case anyone's interested ;).
$Id: design.html,v 1.2 2001/09/19 04:55:03 hno Exp $